- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 09网络营销促销.ppt
- 10 java基础课程-常用工具类.ppt
- 10 MVC和Struts 基本原理.ppt
- 10 第7章Java Swing.ppt
- 10--网络营销综合应用.ppt
- 10-1 Java文件组织和编程环境.ppt
- 10-网络营销促销.ppt
- 10.5波的干涉.ppt
- 10.GSM优化第十课.ppt
- 10.Java数据库编程.ppt
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)