您的位置:首页 > 编程语言 > Java开发

Struts2 与 Spring 的集成

2015-04-13 19:52 288 查看
1. 整合原理: Struts2 与Spring集成需要使用到一个插件(struts2-spring-plugin-x-x-x.jar),这个插件将会覆盖Struts2的ObjectFactory接口,从而改变Struts2 创建Action实例的方式。当这个插件代替Struts2创建Action实例的时候,它会先到Struts2的配置文件(struts.xml)查找该Action的class属性值去和Spring配置文件中Bean的ID进行匹配,如果能找到,则使用Spring创建的对象,否则由Struts2框架自身创建,然后由Spring来装配。(既也就是说,struts.xml中的action对象的class属性值是跟spring中bean对象的id相同的。其实,用自己的话来说,Spring帮Struts2创建Action对象,在Struts2
中弄一个链接到Spring)

2. 导包: --->工具包 --> Struts2+Hibernate+SpringStruts2+Spring 文件夹里面的jar都是。

3. 整合步骤:

 导包、配置文件((Spring的配置文件)applicationContext.xml   / (Struts2的配置文件) struts.xml 两个配置文件先准备好)

 在web.xml配置文件中添加两部分内容:

 用来定位Spring框架配置文件(这里可以使用通配符 )
<content-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</content-param>使用通配符:
<content-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml , classpath*:applicationContext-*.xml</param-value>
</content-param>


上述代码中,contextConfigLocation的值是逗号分隔的两个值,表示使用/WEB/INF目录下所有以“applicationContext-”开头的xml文件和类路径下所有以“applicationContext-”开头的xml文件作为Spring的配置文件。

 配置Spring监听器
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>


 配置Struts2 的过滤器
<filter>
<display-name>Struts2配置</display-name>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


 配置完web.xml后,就可以开始写Action.java了(如: RegAction.java)

 写完Action后,在applicationContext.xml中进行配置了(如: <bean  id=“reg” class=“cn.czk.action.RegAction”/> )

 写完Action后在Struts.xml配置文件中进行配置该Action, 其中要把<action >中的class属性值改成Hibernate中Bean的id。(如: <action id =“regAction”class=“reg”> . . .省略 . </action>)

 最后就可以进行测试。。看看是否集成成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: