Spring Struts2 整合

Posted 滥好人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Struts2 整合相关的知识,希望对你有一定的参考价值。

一、在Web下使用Spring
原理:
之前加载Spring的IoC容器是用代码ApplicationContext context = new ClasspathXml......("beans.xml");加载的。
在Web中加载需要放在应用程序启动的时候加载,这可以使用监听器来实现。

1.添加jar包。
2.spring配置文件。同前
3.在web.xml加入配置——在web.xml空白处直接按alt+/选择 #contextloadlistener会生成代码片断。

<!--配置Spring配置文件的名称和位置-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!--启动IoC容器的监听器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

二、Spring整合Struts2
整合什么?——用IoC容器管理Struts2的Action
如何整合?
第一步:配置Struts2
1.加入Struts2的jar包。
2.配置web.xml文件。
3.加入Struts2的配置文件struts.xml

第二步:配置Spring
1.加入Spring的jar包
Spring的标准 jar包。
struts-spring-plugin_xxx.jar包。
2.添加Spring的配置文件——beans.xml

3.在Spring的IoC容器中配置Struts2的Action——注意配置中需要把Action配置成非单例模式scope=prototype.

<beans id="infoAction" class="com.itnba.maya.controller.InfoAction" scope="prototype">
<property name="infoService" ref="com.itnba.maya.services.InfoService"></property>
</beans>

 

4.配置struts.xml。把<action>的class属性指向IoC容器相应bean的id。

<action name="info_save" class="infoAction">
<result>success.jsp</result>
</action>


5.在Web.xml中添加配置

<!--配置Spring配置文件的名称和位置-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:beans.xml</param-value>
</context-param>
<!--启动IoC容器的监听器-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

web.xml配置的作用:
1)创建IoC容器的对象。
2)把对象放到Application中。

 



















以上是关于Spring Struts2 整合的主要内容,如果未能解决你的问题,请参考以下文章

Struts2+Spring+Hibernate step by step 06 整合Hibernate

java 的 struts2 Spring Hibernate 三大框架的整合

struts2+spring+hibernte整合示例

Spring框架+Struts2框架第一次整合

Struts2与Spring整合

Spring:Spring整合Hibernate,之后整合Struts2