知识大全 Spring与Struts的结合运用

Posted

篇首语:今天所做之事勿候明天,自己所做之事勿候他人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Spring与Struts的结合运用相关的知识,希望对你有一定的参考价值。

Spring与Struts的结合运用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  Jakarta Struts是Apache软件组织提供的一个开源项目 它为Java Web应用提供了基于Model View Controller的MVC框架 尤其适用于开发大型可扩展的Web应用 尽管基于Java的MVC框架层出不穷 事实上Spring的MVC模型也提供了驱动应用系统Web层的能力 但Jakarta Struts仍然是所有这些框架中的佼佼者     Spring是一个轻量级(大小和系统开支的角度)的IoC和AOP容器 它力图简化J EE开发即J EE without EJB 而且作为帮助企业级开发的核心支柱 Spring为模型层(OR持久层:Hibernate JDO iBatis等)服务层(EJB JNDI WebService)以及表现层(Struts JSF Velocity)都提供了良好的支持和集成方案  

   首先我们来看一个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集成的方式:     ( ) 从一个知晓Spring上下文的基类派生我们自己的Struts Action类 然后 在派生类中就可以使用super XX()方法来获得一个对Spring受控Bean的引用     ( ) 将请求委托给作为Spring Bean管理的Struts Action来处理     注册Spring插件:为了使Struts Action能够访问由Spring管理的Bean 我们就必须要注册一个知道Spring应用上下文的Struts插件 可以在struts config xml中通过如下的方式来完成注册     < plug in classname=" springframework web struts ContextLoadPlugin"> < set property value="WEB INF/Yhcip xml " property="contextConfigLocation"> < /PLUG IN>     ContextLoadPlugin()负责装载一个Spring应用上下文 (具体的说:是一个WebApplicationContext) value属性值为要加载的配置Spring受控Bean的xml文件的URI     完成第一种集成方案:实现一个知晓Spring的Action基类     这种集成方案是从一个公共的能够访问Spring应用上下文的基类中派生所有的Struts Action 但值得庆幸的是:我们不用自己去编写这个知晓Spring应用上下文的基类 因为Spring已经提供了 springframework web struts ActionSupport:一个 apache struts action Action的抽象实现 它重载了setServlet()方法以从ContextLoaderPlugin中获取WebapplicationContext 因此 任何时候我们只需要调用super getBean()方法即可获得一Spring上下文中的一个Bean的引用    我们再来看一段Action源代码:     public class CourceAction extends ActionSupport public ActionForward execute( ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response) throws Exception //取得Spring上下文 ApplicationContext context = super getWebApplicationContext(); //取得CourceService Bean CourseService courseService = (CourseService) context getBean("courseService"); Set allCources = courceService getAllCources(); request setAttribute("cources" allCources); // the other statements return mapping findForward("jspView");     分析:这个Action类由ActionSupport派生 当CourceAction需要一个Spring受控Bean时:它首先调用基类的getWebApplicationContext()方法以取得一个Spring应用上下文的引用;接着它调用getBean()方法来获取由Spring管理的courceService Bean的一个引用     小结     至此 我们已经用第一种方案圆满的完成了Spring与Struts的集成工作 这种集成方式的好处在于直观简洁容易上手 除了需要从ActionSupport中派生 以及需要从应用上下文中获取Bean之外 其他都与在非Spring的Struts中编写和配置Action的方法相似 但这种集成方案也有不利的一面 最为显著的是:我们的Action类将直接使用Spring提供的特定类 这样会使我们的Struts Action(即控制层)的代码与Spring紧密耦合在一起 这是我们不情愿看到的 另外 Action类也负责查找由Spring管理的Bean 这违背了反向控制(IoC)的原则

cha138/Article/program/Java/JSP/201311/20546

相关参考

知识大全 Spring MVC与struts比较

SpringMVC与struts比较  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  下面的内容只

知识大全 spring struts2 ibatis框架整合开发

这里主要介绍一下spring+struts+ibatis所需要的jar包文件spring所需包  以上包为spring配置基本包ibatis所需包  有解决方法的朋友们希望能回复  与struts整合

知识大全 struts2 + spring + hibernate&

   struts释出已经很久了虽然自己现在作GUI开发不过有时间还是学习下web开发现在就将我使用myeclipse工具应用struts+spring+hibernat

知识大全 Spring和Struts的区别

Spring和Struts的区别?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixinz

知识大全 Struts整合spring方法(三)

Struts整合spring方法(三)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Sprin

知识大全 Struts+Spring+Hibernate快速入门

Struts+Spring+Hibernate快速入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Struts&Spring&Hibernate面试总结

Struts&Spring&Hibernate面试总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Struts 2, spring 2, hibernate

Struts2,spring2,hibernate  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 如何配置spring+struts?

cha138/Article/program/Java/ky/201404/30504

知识大全 如何有效的集成Spring和Struts

如何有效的集成Spring和Struts  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文想通