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

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来处理.

你可能感兴趣的:(spring,bean,mvc,struts,企业应用)