CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

深入探讨Spring与Struts的集成方案

作者: dxaw,  出处:赛迪网, 责任编辑: 王尔玉, 
2007-10-31 10:11
  Spring是一个轻量级的IoC和AOP容器。它力图简化J2EE开发即J2EE without EJB。Spring为模型层服务层以及表现层都提供了良好的支持和集成方案。

  Spring是一个轻量级(大小和系统开支的角度)的IoC和AOP容器。它力图简化J2EE开发即J2EE without EJB。而且作为帮助企业级开发的核心支柱,Spring为模型层(OR持久层:Hibernate、JDO、iBatis等)服务层(EJB、JNDI、WebService)以及表现层(Struts、JSF、Velocity)都提供了良好的支持和集成方案。

  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>
 

共2页。 1 2 :

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       
天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2004-2008, Ctocio.com.cn
渝ICP证B2-20030003号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i