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