Struts2与Spring的整合
根据当前的统计状况,软件开发行业对Struts1的使用率逐渐在降低,而对Struts2的使用率逐渐上升,这取决于Struts2比Struts1有着很多更方便,合理的改进。
简单说几点关键的改进吧。首先,Struts2中的Action不再依赖于Http协议,进一步说就是不再依赖于表示层中的request,response等http协议中的对象了,这一改进让我们的Action可以是一个普通的JavaBean或叫POJO类;其次,它在配置文件的配置上简化了很多,配置很方便;再次就是,它是一个基于组件的框架,可整合JSF,Tapestry,DWR,FreeMark,JFreeChart,Spring等等,体现了它强大的可扩展性。
那么,我现在谈下Spring与Struts2的整合。
其整合中最重要的原理就是,我们的Structs2在默认情况下是由自己创建Action对象,进行请求处理和业务调度的。可是SSH整合的项目中,我们都知道,后台的业务处理和DAO都是由Spring进行横向管理的。这意味着,我们的请求要想得到后台业务对象的相关服务,就必须和Spring扯上关系,那就是把Struts2里面创建Action的权利交给Spring。
第一,我们首先要把Struts2与Spring整合的支持架包导入工程,加入struts2-spring-plugin-2.0.9.jar到lib目录.
第二,我们通过配置web.xml来通知工程在启动时候装载Spring上下文,具体配置如下:
在web.xml中添加如下配置。
<!-- Struts2配置 -->
<!-配置Structs2的中心控制器-->
<filter>
<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>
<!--设置上下文本地配置文件的路径-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
<!-- 装载Spring上下文 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
第三,在struts.properties中加入: struts.objectFactory = spring或在struts.xml中加入: <constant name="struts.objectFactory" value="spring" />告知Struts2的Action由Spring创建和管理。
第四,在Spring配置文件applicationContext.xml中加入相应Action的<bean />,
如:Struts2中有个Action为LoginAction,此Action的name属性为name="login",那么在Spring的配置文件的配置就是:
<bean id="login" class="org.struts2.action.LoginAction"></bean>
我们就可以在上面的bean中由Spring注入相应的业务对象了。
Ok,这样,Struts2就和Spring整合了。
分享到:
相关推荐
Struts2与Spring整合的demo
Struts2与Spring整合使用json报错解决办法[归纳].pdf
这个插件是在strtus2和spring集成必备的一个插件
NULL 博文链接:https://depravedangel.iteye.com/blog/441025
Myeclipse 5.5 ,用一个简单的事例,实现Struts2和Spring 的开发。
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
Struts2 hibernate spring 整合案例
ssh 整合jar包,hibernate,struts2,spring 整合jar包以及配置文件
本文档介绍了struts2与spring2.5之间整合,运用到了插件,希望对你有所帮助,谢谢!
struts2+spring整合登陆验证经典完整案例!期余JAR文件在struts2+spring整合登陆验证经典完整案例!(JAR)这个中,免积分下载! 部署Web应用请按如下步骤进行: 1. 进入reg_login路径下,将mysql.sql脚本中的语句...
struts2 hibernate spring整合开发
struts2和spring和Hibernate的整合包,在MyEclipse中自动导入老是有冲突包。
Struts2_spring整合,Struts2_spring整合
精通Java EE:Eclipse Struts2 Hibernate Spring整合应用案例代码和数据库压缩包6
Struts2+Spring整合所需jar包(13个Struts2+6个Spring+1个整合包)
Struts2整合Spring3.0,Spring虽然有自己的MVC,但是由于繁琐的配置,并不理想,Struts2可以和Spring完美结合,来完成MVC的实现。
简单的 struts2 spring ibatis 整合架构
包含struts2独立开发包 spring2独立开发包等等 包含struts2独立开发包 spring2独立开发包等等
struts2+spring整合登陆验证经典完整案例!这个文件和 "struts2+spring整合登陆验证经典完整案例"一起下载使用,由于CSDN资源大小限制,分成两个部分,这个部分都是.jar文件,免积分下载!
Struts2, Spring与myBatis整合示例项目