spring 整合struts

1.例子:未被spring整合

struts.xml 的配置文件

    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <constant name="struts.configuration.xml.reload" value="true"/>
    <!--配置扩展名 .do-->
    <constant name="struts.action.extension" value="do"></constant>

    <package name="default" namespace="/" extends="struts-default">
<!-- {1} 代表第一个*  {2} 代表第二个*   -->
        <action name="*_*" class="com.test.controller.{1}Action" method="{2}">
            <result name="success">index.jsp</result>
        </action>
    </package>

注意这个配置,全类名。 struts 通过actionMaping 的配置找到这个类

测试:调用com.test.controller 包下的StudentAction 这个类的doGetStudentInfo()方法

前台调用这个action的方式  就是

注意:这里是Student首字母大写,是StudentAction 的前半部分

2. 例子:spring整合之后

struts.xml 的配置文件

<struts>
<!--由spring 取代struts 创建对象的实例 -->
    <constant name="struts.objectFactory" value="spring" />
    <!--配置spring自动装配实例-->
    <constant name="struts.objectFactory.spring.autoWire" value="true"></constant>
    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
    <constant name="struts.configuration.xml.reload" value="true"/>
    <!--配置扩展名 .do-->
    <constant name="struts.action.extension" value="do"></constant>

    <package name="default" namespace="/" extends="struts-default">

        <action name="*_*" class="{1}Action" method="{2}">
            <result name="success">index.jsp</result>
        </action>
    </package>

    <!-- <include file="example.xml"/> -->

</struts>

注意这个地方:已经变成了spring 自动创建的beanid,这里自动创建的beanid 是通过注解生成的

这个注解生成的beanid 是studentAction  ,注意这里的首字母是小写,这是spring创建实例的时候转化的。

测试:前台进行访问

报错:原因,时候应为这时候要调用的action 实例名已经是studenAction 而不是StudentAction

正确。

此时spring配置文件不用特别的设置配置,已经将spring 和 struts 整合完毕

时间: 2024-07-29 11:12:32

spring 整合struts的相关文章

spring整合struts

整合目标:使用spring的bean管理struts action service. 整合步骤: 一.加入spring 1.加入spring jar包 2.配置web.xml文件 <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context

Spring入门(四)— 整合Struts和Hibernate

一.Spring整合Struts 1. 初步整合 只要在项目里面体现spring和 strut即可,不做任何的优化. struts 环境搭建 创建action public class UserAction extends ActionSupport { public String save(){ System.out.println("调用了UserAction的save方法~~!"); } } 在src下配置struts.xml , 以便struts能根据请求调用具体方法 <

Spring与Struts整合

正常的spring与struts工程文件所需jar包及配置条件下,增加如下配置: struts.xml 增加:<constant name="struts.objectFactory" value="spring" /> 配置action的时候,class直接写spring配置文件(applicationContext.xml)中的bean的ID 增加:struts2-spring-plugin-2.3.28  Jar包即可: 注意在applicatio

spring,hibernate,struts整合

SSH整合: Spring与Hibernate整合 Spring与Struts整合 整合步骤:---------------------------------------------->本人使用的是struts2.3.4.1   hibernate3.6.0  spring3.2.5 1.导入jar文件 1)struts jar文件-->如何找? -->去源码包中struts-2.3.4.1\apps\struts-blank.war -->使用压缩文件打开struts-blan

Spring+mybatis+struts框架整合的配置具体解释

学了非常久的spring+mybatis+struts.一直都是单个的用他们,或者是两两组合用过,今天总算整合到一起了,配置起来有点麻烦.可是配置完一次之后.就轻松多了,那么框架整合配置具体解释例如以下. 1.导入对应的jar包 由于我们建造的是maven的web项目,全部我们在pom.xml中须要导入这些包. pom.xml 具体凝视 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&q

Spring整合Hibernate与Struts

整合S2SH 一.导入jar包 Spring jar包 Hibernate jar包 Struts2 jar包 以上就是整合需要的所有jar包,当然其中有重复的包,(对比之后去掉版本低的就可以了,还有就是在整合Spring4和hibernate时我们配置的hibernate最多只能配置到hibernate4[现在多数都用的是hibernate5,所以通常都会报一个错误:org/hibernate/engine/transaction/spi/TransactionContext:碰上这个错误的话

spring与struts简单整合案例

Spring,负责对象对象创建 Struts, 用Action处理请求 Spring与Struts框架整合, 关键点:让struts框架action对象的创建,交给spring完成! 步骤: 1)引入struts .jar相关文件 a.引入struts .jar相关文件 commons-fileupload-1.2.2.jar commons-io-2.0.1.jar commons-lang3-3.1.jar freemarker-2.3.19.jar javassist-3.11.0.GA.

条理清晰的搭建SSH环境之整合Struts和Spring

上文说到搭建SSH环境所需三大框架的jar包,本篇博客将通过修改配置文件整合Struts和Spring,下篇博客整合Hibernate和Spring即可完成环境搭建. 1.声明bean,新建TestAction.java,需要给类添加注解:@Controller 和 @Scope("prototype"): "使用@Controller注解标识TestAction之后,就表示要把TestAction交给Spring容器管理,在Spring容器中会存在一个名字为"te

struts2,hibernate,spring整合笔记(4)--struts与spring的整合

饭要一口一口吃,程序也要一步一步写, 很多看起来很复杂的东西最初都是很简单的 下面要整合struts和spring spring就是我们的管家,原来我们费事费神的问题统统扔给她就好了 先写一个测试方法 package com.hibernate; import static org.junit.Assert.*; import org.hibernate.SessionFactory; import org.junit.Test; import org.springframework.conte