深入探讨 Spring 与 Struts 的集成方案
日期:2007年10月1日 作者: 查看:[大字体 中字体 小字体]-
Spring是一个轻量级(大小和系统开支的角度)的IoC和AOP容器.它力图简化J2EE开发即J2EE without EJB.而且作为帮助企业级开发的核心支柱,Spring为模型层(OR持久层:Hibernate、JDO、iBatis等)服务层(EJB、JNDI、WebService)以及表现层(Struts、JSF、Velocity)都提供了良好的支持和集成方案. 访问Spring官方站
Jakarta-Struts是Apache软件组织提供的一个开源项目.它为Java Web应用提供了基于Model-View-Controller的MVC框架,尤其适用于开发大型可扩展的Web应用.尽管基于Java的MVC框架层出不穷,事实上Spring的MVC模型也提供了驱动应用系统Web层的能力,但Jakarta-Struts仍然是所有这些框架中的佼佼者.
下面,将如何整合这两个J2EE领域的经典项目给出两套详尽的集成方案.
1.首先我们来看一个Spring-Struts整合应用下的控制器Action类源代码.
public class CourceAction extends Action {
private CourceService courceService;
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
Set allCources = courceService.getAllCources();
//..........the other statements
request.setAttribute("cources", allCources);
return mapping.findForward("jspView");
} }分析:CourceService为一个业务实现的接口,此接口声明了一系列的业务处理方法.该方法的实现配置为Spring上下问的一个Bean.由此看来,我们大家都可能会产生一个疑问:Struts action如何取得一个包含在Spring上下文中的Bean呢?为了回答这个问题,Spring提供了两种与Struts集成的方式:
(1).从一个知晓Spring上下文的基类派生我们自己的Struts Action类.然后,在派生类中就可以使用super.XX()方法来获得一个对Spring受控Bean的引用.
(2).将请求委托给作为Spring Bean管理的Struts Action来处理.
2.注册Spring插件:为了使Struts Action能够访问由Spring管理的Bean,我们就必须要注册一个知道Spring应用上下文的Struts插件.可以在struts-config.xml中通过如下的方式来完成注册.
<plug-in classname="org.springframework.web.struts.ContextLoadPlugin">
<set-property value="WEB-INF/Yhcip.xml,......" property="contextConfigLocation">
</PLUG-IN>ContextLoadPlugin()负责装载一个Spring应用上下文.(具体的说:是一个WebApplicationContext).value属性值为要加载的配置Spring受控Bean的xml文件的URI.
3.完成第一种集成方案:实现一个知晓Spring的Action基类.
这种集成方案是从一个公共的能够访问Spring应用上下文的基类中派生所有的Struts Action,但值得庆幸的是:我们不用自己去编写这个知晓Spring应用上下文的基类,因为Spring已经提供了org.springframework.web.struts.ActionSupport:一个org.apache.struts.action.Action的抽象实现.它重载了setServlet()方法以从ContextLoaderPlugin中获取WebapplicationContext.因此,任何时候我们只需要调用super.getBean()方法即可获得一Spring上下文中的一个Bean的引用.
我们再来看一段Action源代码:
public class CourceAction extends ActionSupport {
- [1] [2] [3] [4] 下一页
-
- 深入探讨 Spring 与 Struts 的集成方案 相关文章:
- ·Windows 7操作系统新技术深入探讨
- ·深入了解微软Windows 7系统
- ·深入分析Windows操作系统死机问题
- ·用Photoshop加深减淡工具巧抠婚纱
- ·由浅入深实践学习 Web 标准
- ·Flash中有关层的深度处理的常用函数
- ·关于Flash层的深度处理问题
- ·创业之路--站在肤浅的角度谈点深度的问题
- ·关于无效点击-AdSense团队资深专员如是说
- ·深层优化 提高网站的访问速度
- 深入探讨 Spring 与 Struts 的集成方案 相关软件
- ·《深海探索》海底版魔兽试玩
- ·《深海冒险》游戏试玩
- ·深海狂鲨
- ·《深入敌后:雷神战争》火爆试玩
- ·手机游戏:深入黑帮
- ·《1979—2000深圳重大决策和事件民间观察》
- ·冒险小说:《深海探秘》
- ·《深巷里的琵琶声》 :陆文夫散文百篇
- ·深深太平洋
- ·偶是深圳一个贼
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:Windows环境下的Tomcat + Apache配置
下一篇:ASP开发中有用的函数(function)集合(3)
