`
jiagyao
  • 浏览: 99332 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spring整合web应用和整合Struts1.x(转)

阅读更多
一、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

    总的来说,`org.springframework.web.struts-3.1.0.M2.jar`是Spring与Struts深度整合的关键,它简化了两者的集成工作,提升了开发效率和应用的可维护性。理解并掌握这个组件的使用,对于提升Java Web开发能力具有...

    org.springframework.web.struts-sources-3.0.4.RELEASE.jar

    在3.0.x系列中,Spring提供了对Struts 1.x的支持,允许开发者利用Spring的特性来增强Struts应用,例如事务管理、AOP(面向切面编程)、数据绑定和类型转换等。 1. **Spring与Struts的整合机制** Spring与Struts的...

    spring,struts1.x ,hibernate整合

    Spring、Struts1.x 和 Hibernate 是经典的 Java Web 开发框架,它们的整合是构建企业级应用的常见方式。这三个框架分别负责不同的职责:Spring 提供依赖注入和事务管理,Struts1.x 负责视图和控制层,而 Hibernate ...

    struts1.x+spring+jta集成例子(包含所有jar包)

    在Struts1.x和JTA的集成中,Spring主要扮演了管理bean、事务以及与JTA交互的角色。通过Spring的ApplicationContext,我们可以方便地配置和管理服务层的bean,包括事务策略。 JTA是Java平台的标准API,用于管理...

    Ext2.1 struts1.x spring 2.x hibernate 2.x

    【标题】"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整合工具文档v1.00

    ### 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开发实例

    这个"Struts1.x+Spring+Hibernate开发实例"是一个综合性的学习资料,旨在帮助开发者理解如何将这三个框架整合在一起,构建一个完整的Web应用程序。 Struts1.x是Apache软件基金会的开源MVC(Model-View-Controller)...

    Struts1.x-Hibernate,曾删改查

    Struts1.x和Hibernate是Java Web开发的重要工具,它们各自解决了Web应用开发中的不同问题,并通过整合实现了高效的数据处理和用户交互。尽管现在有更新的框架如Spring MVC和Spring Data,但对Struts1.x和Hibernate的...

    struts1.x 常用知识详解

    总结,Struts1.x作为经典的Web开发框架,其丰富的功能和广泛的应用使得学习和掌握它成为提升Java Web开发技能的重要一步。通过本教程,你将对Struts1.x有深入的理解,并能将其应用于实际项目中,构建出高效、稳定的...

    spring-webmvc-struts.jar

    spring-webmvc-struts.jar对Struts和Spring整合时需要用到的包

    struts1.x+spring 2.x+hibernate3.x jar包 组合

    Struts1.x、Spring 2.x 和 Hibernate3.x 是经典的Java Web开发框架组合,被称为SSH(Struts-Spring-Hibernate)集成。这个jar包集合包含了这三个框架的核心库和其他相关依赖,便于开发者快速搭建一个基于MVC模式的...

    struts2.x hibernate spring 整合

    1. 配置Struts2:设置struts2的核心过滤器,编写struts.xml配置文件,定义Action和Result。 2. 配置Hibernate:创建hibernate.cfg.xml配置文件,定义实体类与数据库表的映射,配置SessionFactory。 3. 集成Spring:...

    SSH(Struts2.1+Spring2.X+Hibernate3.X)整合,新手必备

    Spring2.X版本加强了对事务管理、数据访问集成、Web应用的支持,使得开发者可以更方便地管理对象的生命周期和依赖关系。 **Hibernate** 是一个对象关系映射(ORM)框架,它简化了Java应用程序与数据库的交互。...

    struts2.3.x+spring3.1.x+hibernate4.1整合工程(好用)

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责,而将它们整合在一起可以构建出高效、灵活的企业级应用。这里我们详细探讨一下"Struts2.3.x+Spring3.1.x+Hibernate4.1整合工程"的...

    ssh Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合jar包

    SSH框架是Java开发中常用的三大开源框架Struts2、Hibernate和Spring的组合,它们各自负责应用程序的不同层面,共同构建了一个高效、灵活的企业级应用开发环境。这个SSH整合jar包是针对Struts2.3.16.1、Hibernate...

    struts1和spring整合

    Struts1 和 Spring 整合是 Java Web 开发中常见的一种技术组合,它们分别作为 MVC 框架和依赖注入框架,共同提升了应用的可维护性和可扩展性。Struts1 提供了强大的控制器层,而 Spring 提供了业务逻辑处理和依赖...

    Spring3.x_Struts2.x_Hibernate3.x整合

    2. **配置Struts2**:在struts.xml中,配置Action类和对应的Result,同时通过Spring插件(struts2-spring-plugin)将Action类交由Spring管理。 3. **配置Hibernate**:设置hibernate.cfg.xml文件,配置数据库连接...

    Struts1.x+sping2.0+hibernate3.0

    Struts1.x、Spring2.0 和 Hibernate3.0 是经典的 Java Web 开发框架组合,被称为 SSH(Struts + Spring + Hibernate)。这个组合在过去的十几年里被广泛应用,为开发人员提供了一个强大的、全面的企业级应用解决方案...

    基于eclipse的struts2.x+hibernate3.x+spring3.x整合文档及实例源码

    5. **整合Struts2和Spring**:在Struts2的配置文件中,使用Spring插件(struts2-spring-plugin)的`&lt;spring:bean&gt;`标签引入Spring管理的bean。 6. **实例化Action**:在Struts2的Action配置中,通过Spring插件的`...

    Struts2.5+ Spring5 + Hibernater5.2整合后项目(包含jar包和配置文件)

    1. **配置Struts2**:设置struts2-core.jar等必要库,编写struts.xml配置文件,定义Action、结果类型和拦截器栈。 2. **配置Spring**:引入spring-context、spring-aop、spring-webmvc等库,配置spring.xml,定义...

Global site tag (gtag.js) - Google Analytics