快速业务通道

Spring和Struts整合的三种方式 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
;   u.setPwd(loginForm.getPwd());   //直接用dao来调用spring会将这个对象实例化。   if(dao.checkLogin(u)){   return mapping.findForward("success");   }else{   return mapping.findForward("error");   } } } 这里的。 LoginAction extends Action 说明 struts 每有和spring 耦合。 看一下 applicationContext.xml 中的配置。 <beans> <bean id="loginDao" class="com.cao.dao.LoginDao"/> <bean name="/login" class="com.cao.struts.action.LoginAction">   <property name="dao">   <ref local="loginDao"/>   </property> </bean> </beans>

这里 name="/login" 与struts 中的path匹配

class="com.cao.struts.action.LoginAction" 与struts 中的type匹配

还要为 LoginAction 提供必要的setXXX方法。 获得ApplicationCotext和依赖注入的工作都在DelegatingRequestProcessor中完成。

Spring和Struts整合的三种方式(3)

时间:2011-04-26

3,全权委托:

Action 的创建和对象的依赖注入全部由IOC容器来完成。使用Spring的DelegatingAcionProxy来帮助实现代理的工作

org.springframework.web.struts.DelegatingActiongProxy继承于org.apache.struts.action.Action .

全权委托的配置方式同 方式 2 类似 (applcationContext.xml文件的配置和 Action类的实现方式相同)。

<struts-config>   <data-sources />   <form-beans >    <form-bean name="loginForm"   type="com.cao.struts.form.LoginForm" />   </form-beans>   <global-exceptions />   <global-forwards /> <action-mappings >    <!-- type指向的是spring 的代理类 -->    <action     attribute="loginForm"     input="login.jsp"     name="loginForm"     path="/login"     scope="request"   type="org.springframework.web.struts.DelegatingActionProxy" >     <forward name="success" path="/ok.jsp" />     <forward name="error" path="/error.jsp" />    </action> </action-mappings>   <message-resources parameter="com.cao.struts.ApplicationResources" /> <plug-in className= "org.springframework.web.struts.ContextLoaderPlugIn">   <set-property property="contextConfigLocation"   value="/WEB-INF/applicationContext.xml"/> </plug-in> </struts-config> 不同之处 1, <action>中 type指向的是spring 的代理类 2, 去掉struts-config.xml中 <controller >

三种整和方式中我们优先选用 全权委托的方式。

理由:

1,第一种使得过多的耦合了Spring和Action .

2,RequestProcessor类已经被代理 如果要再实现自己的实现方式(如:编码处理)怕有点麻烦。

总结一下:

整合工作中的步骤:

1,修改struts-config.xml

2, 配置applicationContext.xml

3, 为Action添加get/set方法 来获得依赖注入的功能。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号