浏览 2326 次
锁定老帖子 主题:Struts2与Spring的整合
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-21
最后修改:2011-01-21
根据当前的统计状况,软件开发行业对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整合了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-04-22
我就是冲着Structs2与Spring的整合这个题目来的,还以为struts也出山寨版了.
|
|
返回顶楼 | |
发表时间:2010-04-22
第四步中的applicationContext.xml中配置的 <bean id="login" class="org.struts2.action.LoginAction"></bean> 对应于struts.xml文件的配置是 <action name="mymethod" class="login"></action> 即bean的id值对应于action中的class值。 请问楼主是不是这样配置的?新人求解。 |
|
返回顶楼 | |
发表时间:2010-04-22
最后修改:2010-04-22
对应struts.xml文件配置是 <action name="login" class="org.strus2.action.LoginAction"></action> |
|
返回顶楼 | |
发表时间:2010-04-22
楼主你写的也太简单了????
多提供点撒! |
|
返回顶楼 | |