一、Spring整合Web应用
1. 在Web应用程序中,要使用Spring的IoC容器(WebApplicationContext),必须对它进行初始化。Spring提供了两种方式:
1) ContextLoadListener : 在容器部署这个Web应用时就会触发这个监听器,这个监听器就会创建并初始化Spring的WebApplicationContext实例。具体配置如下(推荐使用)
a) 在web.xml中通过应用上下文初始化参数来指定Spring的配置文件的路径,如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
<!-- <param-value>/WEB-INF/applicationContext-*.xml</param-value> -->
</context-param>
b) 在web.xml中配置ContextLoadListener监听器
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
2) ContextLoadServlet : 这个Servlet在初始化阶段也会创建并初始化Spring的WebApplicationContext实例。需要把它配置为自启动方式。如下配置:
a) 在web.xml中通过应用上下文初始化参数来指定Spring的配置文件的路径,同上a) 所示的配置。
b) 在web.xml中注册此Servlet:
<servlet>
<servlet-name>ContextLoadServlet<servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
2. 经过以上配置后,在Servlet或JSP中,直接使用Spring提供的WebApplicationContextUtils工具类就可以获取Spring的WebApplicationContext容器了,然后就可以从该容器中获取你想要的Bean了。
二、Spring整合Struts1:
1. 注意:Spring2.5以上版本整合Struts1.x时,需要在classpath中添加spring-webmvc-struts.jar包。
2. Spring有侵入性的整合Struts1:
Action类可以直接继承Spring提供的ActionSupport(或它的子类),这些类都提供了getApplicationContext()的方法来获取Spring的WebApplicationContext容器。
3. Spring无侵入性的整合Struts1: 强烈推荐使用
1) 在Struts配置文件中把默认的请求处理器换成Spring提供的DelegatingRequestProcessor这个请求处理器。具体配置如下:
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>
2) 在Struts配置文件中配置的每个Action,都要对应的在Spring的配置文件中进行相应的配置。
例如:struts配置文件有:
<action path="/dept" type="com.qiujy.web.dept.DeptAction"
name="deptForm" scope="request"
parameter="method" validate="false">
<forward name="findAll" path="/list_dept.jsp"/>
</action>
那么在Spring配置文件中要有如下相应配置:<bean name="/dept" class="com.qiujy.web.dept.DeptAction" parent="baseAction"/>
这样,客户提交的Struts请求就会映射到Spring容器创建的针对对应Action实例的代理对象上。Spring就可以对这些代理对象直接注入依赖。从而实现表示层和业务层依赖关系的松藕合。
三、Spring针对Hibernate还提供了org.springframework.orm.hibernate3.support.OpenSessionInViewFilter类,可以直接配置在web.xml中。用来在请求到达服务器资源时就开启session,在响应返回客户端之前关闭Session,以便于在JSP页面中仍可以初始化实体对象中延迟加载的属性。(效率问题,要谨慎使用)
四、Spring针对Web应用添加了一个请求数据编码设置的过滤器org.springframework.web.filter.CharacterEncodingFilter,可直接在web.xml中配置生效。
五、Spring应用的流行架构:
struts1 + spring2 + hibernate3集成开发 (ssh)
struts2 + spring2 + hibernate3集成开发(s2sh)
分享到:
相关推荐
总的来说,`org.springframework.web.struts-3.1.0.M2.jar`是Spring与Struts深度整合的关键,它简化了两者的集成工作,提升了开发效率和应用的可维护性。理解并掌握这个组件的使用,对于提升Java Web开发能力具有...
在3.0.x系列中,Spring提供了对Struts 1.x的支持,允许开发者利用Spring的特性来增强Struts应用,例如事务管理、AOP(面向切面编程)、数据绑定和类型转换等。 1. **Spring与Struts的整合机制** Spring与Struts的...
Spring、Struts1.x 和 Hibernate 是经典的 Java Web 开发框架,它们的整合是构建企业级应用的常见方式。这三个框架分别负责不同的职责:Spring 提供依赖注入和事务管理,Struts1.x 负责视图和控制层,而 Hibernate ...
在Struts1.x和JTA的集成中,Spring主要扮演了管理bean、事务以及与JTA交互的角色。通过Spring的ApplicationContext,我们可以方便地配置和管理服务层的bean,包括事务策略。 JTA是Java平台的标准API,用于管理...
【标题】"Ext2.1 struts1.x spring 2.x hibernate 2.x" 涉及的技术栈是Web开发中的经典组合,主要包括EXT JS的2.1版本、Struts1.x、Spring 2.x以及Hibernate 2.x。这些技术在过去的Web应用程序开发中扮演着重要角色...
### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...
这个"Struts1.x+Spring+Hibernate开发实例"是一个综合性的学习资料,旨在帮助开发者理解如何将这三个框架整合在一起,构建一个完整的Web应用程序。 Struts1.x是Apache软件基金会的开源MVC(Model-View-Controller)...
Struts1.x和Hibernate是Java Web开发的重要工具,它们各自解决了Web应用开发中的不同问题,并通过整合实现了高效的数据处理和用户交互。尽管现在有更新的框架如Spring MVC和Spring Data,但对Struts1.x和Hibernate的...
总结,Struts1.x作为经典的Web开发框架,其丰富的功能和广泛的应用使得学习和掌握它成为提升Java Web开发技能的重要一步。通过本教程,你将对Struts1.x有深入的理解,并能将其应用于实际项目中,构建出高效、稳定的...
spring-webmvc-struts.jar对Struts和Spring整合时需要用到的包
Struts1.x、Spring 2.x 和 Hibernate3.x 是经典的Java Web开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成。这个jar包集合包含了这三个框架的核心库和其他相关依赖,便于开发者快速搭建一个基于MVC模式的...
1. 配置Struts2:设置struts2的核心过滤器,编写struts.xml配置文件,定义Action和Result。 2. 配置Hibernate:创建hibernate.cfg.xml配置文件,定义实体类与数据库表的映射,配置SessionFactory。 3. 集成Spring:...
Spring2.X版本加强了对事务管理、数据访问集成、Web应用的支持,使得开发者可以更方便地管理对象的生命周期和依赖关系。 **Hibernate** 是一个对象关系映射(ORM)框架,它简化了Java应用程序与数据库的交互。...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责,而将它们整合在一起可以构建出高效、灵活的企业级应用。这里我们详细探讨一下"Struts2.3.x+Spring3.1.x+Hibernate4.1整合工程"的...
SSH框架是Java开发中常用的三大开源框架Struts2、Hibernate和Spring的组合,它们各自负责应用程序的不同层面,共同构建了一个高效、灵活的企业级应用开发环境。这个SSH整合jar包是针对Struts2.3.16.1、Hibernate...
Struts1 和 Spring 整合是 Java Web 开发中常见的一种技术组合,它们分别作为 MVC 框架和依赖注入框架,共同提升了应用的可维护性和可扩展性。Struts1 提供了强大的控制器层,而 Spring 提供了业务逻辑处理和依赖...
2. **配置Struts2**:在struts.xml中,配置Action类和对应的Result,同时通过Spring插件(struts2-spring-plugin)将Action类交由Spring管理。 3. **配置Hibernate**:设置hibernate.cfg.xml文件,配置数据库连接...
Struts1.x、Spring2.0 和 Hibernate3.0 是经典的 Java Web 开发框架组合,被称为 SSH(Struts + Spring + Hibernate)。这个组合在过去的十几年里被广泛应用,为开发人员提供了一个强大的、全面的企业级应用解决方案...
5. **整合Struts2和Spring**:在Struts2的配置文件中,使用Spring插件(struts2-spring-plugin)的`<spring:bean>`标签引入Spring管理的bean。 6. **实例化Action**:在Struts2的Action配置中,通过Spring插件的`...
1. **配置Struts2**:设置struts2-core.jar等必要库,编写struts.xml配置文件,定义Action、结果类型和拦截器栈。 2. **配置Spring**:引入spring-context、spring-aop、spring-webmvc等库,配置spring.xml,定义...