使用Spring的ActionSupport 类整合Structs1.X,使用 Spring 的 DelegatingRequestProcessor覆盖Struts的RequestProcessor,将StrutsAction管理委托给Spring框架
--
<o:p></o:p>
装载应用环境:<o:p></o:p>
无论您使用哪种技术,都需要使用 Spring 的 ContextLoaderPlugin 为 Struts 的 ActionServlet 装载 Spring 应用程序环境
<o:p></o:p>
在struts-config.xml 文件尾处添加该插件:
<plug-in className= "org.springframework.web.struts.ContextLoaderPlugIn">
<set-propertyproperty= "contextConfigLocation" <o:p></o:p>
value="/WEB-INF/classes/applicationContext.xml"/>
</plug-in>
--
<o:p></o:p>
第一种:使用Spring的ActionSupport
该方法: 简单快捷,但会导致struts和spring耦合在一起,如果要移值struts应用程序要重写代码.<o:p></o:p>
例如:<o:p></o:p>
public class ActionName extends ActionSupport {
public ActionForward execute( ){
------------------------------------------------------------------------------
ApplicationContext ctx= getWebApplicationContext(); <o:p></o:p>
BookService bookService = (BookService) ctx.getBean("bookService");
-------------------------------------------------------------------------------------------------------------
}
}
--
<o:p></o:p>
第二种:覆盖 RequestProcessor
该方法使用 org.springframework.web.struts.DelegatingRequestProcessor 类来覆盖 Struts 的 RequestProcessor 处理程序,通过 Spring 的 DelegatingRequestProcessor 进行整合,看下面的struts-config.xml文件的主要配置部分:<o:p></o:p>
<form-beans>
<controller processorClass="org.springframework.web.struts.
DelegatingRequestProcessor"/><o:p></o:p>
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml"/>
</plug-in>
<form-beans/>
此方法比第一种要好,但如果您使用一个不同的 RequestProcessor,则需要手动整合 Spring 的 DelegatingRequestProcessor,添加的代码会造成维护的麻烦并且将来会降低您的应用程序的灵活性。
--
<o:p></o:p>
第三种:将动作管理委托给 Spring
这里列出struts-config.xml中的主要部分:<o:p></o:p>
<action path="/searchSubmit"
type="org.springframework.web.struts.DelegatingActionProxy" <o:p></o:p>
...............
</action> <o:p></o:p>
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/application.xml"/>
</plug-in><o:p></o:p>
此方法是三种方法中最好的
分享到:
相关推荐
spring和struts2.x的整合篇spring和struts2.x的整合篇
Spring、Struts1.x 和 Hibernate 是经典的 Java Web 开发框架,它们的整合是构建企业级应用的常见方式。这三个框架分别负责不同的职责:Spring 提供依赖注入和事务管理,Struts1.x 负责视图和控制层,而 Hibernate ...
标题"Struts2.X+Hibernate3.X+Spring2.5 整合"指的是将这三个框架的特定版本(Struts2.X,Hibernate3.X,Spring2.5)集成到同一个项目中,实现高效的企业级应用开发。这种整合能够充分利用各个框架的优势,使开发者...
Spring整合Struts后,可以统一处理Action的异常,通过定义全局异常处理器,提高异常处理的规范性和一致性。 6. **许可证信息** 随着库一起提供的`springframework-license.txt`文件,包含了Spring框架的许可证...
### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...
Struts1.x是一款经典的MVC(Model-View-Controller)框架,它在Java ...同时,随着技术的发展,虽然Struts1.x已逐渐被Struts2、Spring MVC等更现代的框架取代,但理解这些基础知识对于学习更高级的框架仍然很有帮助。
在实际项目中,这四个技术的组合通常用来创建一个三层架构的应用:EXT JS 2.1负责前端交互和展示,Struts1.x作为后端的MVC框架处理请求和转发,Spring 2.x提供依赖注入和事务管理,而Hibernate 2.x则作为持久层框架...
Struts1.x、Spring 和 JTA(Java Transaction API)是Java Web开发中常见的三大技术,它们各自在应用程序架构中承担着不同的角色。本集成例子旨在展示如何将这三者结合,构建一个完整的业务处理系统。 Struts1.x是...
这个"Struts1.x+Spring+Hibernate开发实例"是一个综合性的学习资料,旨在帮助开发者理解如何将这三个框架整合在一起,构建一个完整的Web应用程序。 Struts1.x是Apache软件基金会的开源MVC(Model-View-Controller)...
1. **Spring**:Struts1.x可以与Spring框架整合,Spring负责管理Action的依赖,提供AOP(面向切面编程)支持。 2. **Hibernate**:结合Hibernate,Struts可以实现持久层操作,提高数据访问效率。 3. **Struts-...
博文链接:https://qqwyy.iteye.com/blog/181991
Struts1.x 和 Hibernate 是两种在Java Web开发中广泛使用的开源框架,它们分别负责不同的职责。Struts1.x 是一个MVC(Model-View-Controller)框架,主要用于处理Web应用程序的业务逻辑和用户交互,而Hibernate则是...
Struts1.x、Spring 2.x 和 Hibernate3.x 是经典的Java Web开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成。这个jar包集合包含了这三个框架的核心库和其他相关依赖,便于开发者快速搭建一个基于MVC模式的...
1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...
Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自在Web应用程序的不同层面上发挥作用,共同构建了所谓的"S2SH"(Struts2、Spring、Hibernate)集成架构。Struts2作为MVC(Model-View-Controller)框架...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责,而将它们整合在一起可以构建出高效、灵活的企业级应用。这里我们详细探讨一下"Struts2.3.x+Spring3.1.x+Hibernate4.1整合工程"的...
`Struts 1.x` 采用MVC设计模式,将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。这种分离使得代码结构清晰,易于维护。在 `Struts 1.x` 中,`Action` 类扮演控制器角色,`...
SSH整合是Java Web开发中的一种常见技术组合,指的是Struts2、Spring和Hibernate三大框架的集成。这三种框架分别在表现层、业务层和服务层扮演重要角色,它们的结合能够帮助开发者构建高效、灵活和可维护的Web应用...
整合Struts2.x通常涉及以下几个步骤: 1. 添加依赖:在项目构建工具(如Maven或Gradle)的配置文件中添加Struts2.x的依赖库,确保运行时能获取到所需的类和库。 2. 配置web.xml:在Web应用的部署描述符中配置...
在实际开发中,开发者通常会根据项目需求选择并引入相应的Struts2插件,以实现特定的功能,比如使用`struts2-spring-plugin.jar`来整合Spring框架,实现依赖注入,或者使用`struts2-rest-plugin.jar`来支持RESTful...