3.2 Struts与Spring集成.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Struts与Spring集成 集成需求 Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C(Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的任何形式的商业逻辑。 ??? 集成需求 Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向切面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。 ??? 就是说可将两者一起使用,达到将两者自身的特点进行互补。 整合思想 Struts与Spring的整合关键在于Action如何获取对具体业务逻辑接口的引用。Spring提供了ApplicationContext.XML文件配置业务逻辑接口的实现类, 文件提供与Bean标签相应的业务逻辑类。使用时, Spring的ApplicationContext 取得配置文件信息, 实例化业务逻辑类, 并通过getbean( ) 方法获取业务逻辑对象。因此Struts只要获取了ApplicationContext对象, 便可以调用具体的业务逻辑服务。 整合方式 首先, 在应用程序部署描述文件WEB.XML中, 加入spring配置文件和Listenner接口配置信息。通过Listenner接口, 可以初始化spring配置, 并将配置信息放在ServletContext对象里面保存。然后, 在Action中导入spring的工具类WEBApplicationContextUtils和ApplicationContext类, 运用工具类的方法获ApplicationContext对象, 运用ApplicationContext对象的getbean( )方法, 调用相应的业务逻辑对象,Struts中Action类数量较多, 为了避免代码重复, 可以抽象出一个基类BaseAcion实现上述步骤。 整合方式 通过上面的整合方式可以看出, 表示层struts中的Action不是直接通过new( )的方式获取对业务逻辑接口的引用, 而是通过listenner接口加载了ApplicationContext对象, 借助于业务逻辑层Spring IOC容器的反射机制来获取引用的。这种间接获取的方式, 有效地降低了表示层与业务逻辑层的耦合度, 降低了组件间的依赖程度, 较好地实现了Struts 与Spring 框架整合的目标。 示例:实现多页面用户注册 1、在web.xml文件中对ActionServlet类进行配置 2、编写实体映射类user.java 3、编写Action类userReg.java 4、编写Struts配置文件struts-config.xml 5、编写Spring配置文件applicationContext.xml 1、在web.xml文件中对ActionServlet类进行配置 servlet servlet-nameaction/servlet-name servlet-classorg.apache.struts.action.ActionServlet/servlet-class init-param param-nameconfig/param-name param-value/WEB-INF/struts-config.xml/param-value /init-param init-param param-namedebug/param-name param-value3/param-value /init-param init-param param-namedetail/param-name param-value3/param-value /init-param load-on-startup0/load-on-startup /servlet servlet-mapping servlet-nameaction/servlet-name url-pattern*.do/url-pattern

文档评论(0)

yan666888 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档