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

Spring和Struts集成后如何获取Spring上下文环境

阅读更多
当今最流行的技术无非就是:SSH (Struts+Spring+Hibernatge),Struts与Spring集成的方式一般是通过PlugIn加载Spring.用这种方式后, 当我们需要Spring上下文时无法获取,为了解决这个问题,可以在web.xml中加入Spring的监听器:  <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener> 而Spring与Struts的集成仍然用PlugIn的方式,由此可以在Servlet环境中获取Spring上下文.

ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(this.getServletConfig().getServletContext());


Spring中ApplicationContext加载机制。
          加载器目前有两种选择:ContextLoaderListener和ContextLoaderServlet。
         这两者在功能上完全等同,只是一个是基于Servlet2.3版本中新引入的Listener接口实现,而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择。

配置非常简单,在web.xml中增加:
<listener>
  <listener-class>
       org.springframework.web.context.ContextLoaderListener
  </listener-class>
</listener>
或:
<servlet>
    <servlet-name>context</servlet-name>
    <servlet-class>
       org.springframework.web.context.ContextLoaderServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

          通过以上配置,Web容器会自动加载/WEB-INF/applicationContext.xml初始化
ApplicationContext实例,如果需要指定配置文件位置,可通过context-param加以指定:
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/myApplicationContext.xml</param-value>
</context-param>

        配置完成之后,即可通过
WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。

如:ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext();
    LoginAction action=(LoginAction)ctx.getBean("action");
分享到:
评论

相关推荐

    Spring整合Struts

    这种方式允许你集中管理所有的Spring上下文文件,对于使用如StrutsTestCase这样的测试工具尤其有用。因为StrutsTestCase的MockStrutsTestCase不会在启动时初始化监听器,所以将所有上下文文件放置在插件中是一种变通...

    spring与struts2集成所需要的jar包

    - `spring-context.jar`: 提供了上下文相关的服务,如事件、国际化、资源访问以及AOP。 - `spring-web.jar`: 提供了处理HTTP请求和响应的工具,用于Web应用。 - `spring-webmvc.jar`: Spring MVC的核心库,包含...

    Spring集成struts以及hibernate jar包

    标题中的"Spring集成struts以及hibernate jar包"指的是在Java Web开发中,将Spring框架与Struts2和Hibernate框架进行整合的过程。这通常是为了构建一个完整的MVC(Model-View-Controller)架构,其中Spring负责依赖...

    Spring之Spring2.5集成Struts2.2

    前者处理请求,后者初始化Spring应用上下文。 4. **Struts2-Spring插件**:为了使Struts2能与Spring协同工作,需要引入Struts2的Spring插件。该插件允许Struts2的动作类(Action)作为Spring的bean来管理,从而利用...

    Spring整合集成Struts1.2最简单例子

    - **ActionServlet配置**:在`web.xml`中配置`ActionServlet`,并添加Spring的`ContextLoaderListener`,用于初始化Spring上下文。 - **Action类改造**:将Action类变为Spring的管理Bean,通常标记为`prototype`...

    Spring集成Struts的三种方案

    **集成方案一:继承知晓Spring上下文的Action基类** 在Spring-Struts的集成中,一种常见方法是通过继承Spring提供的`ActionSupport`基类。`ActionSupport`是`Action`的抽象实现,它包含了对Spring应用上下文的访问...

    struts+spring集成

    2. **Spring作为Struts2的Action上下文**:在Struts2中,Action是处理请求的核心组件。通过Spring管理Action,我们可以利用Spring容器初始化Action,这样Action的实例化和依赖关系的建立都由Spring负责。 3. **配置...

    spring和struts整合的三种方案

    在实际应用中,第一种和第二种方案通常用于初始化 Spring 容器,而第三种方案则更深入地将 Spring 的功能集成到 Struts 请求处理流程中。然而,使用 `ActionSupport` 类(方法一)会使得 Struts Action 与 Spring ...

    Spring + struts 整合的三种主要方式

    为了使Struts能够识别到Spring的上下文,我们需要在`struts-config.xml`中配置`ContextLoaderPlugIn`插件,并指定Spring配置文件的位置。 ```xml &lt;plug-in className="org.springframework.web.struts....

    Spring与Struts2整合

    通常,我们会在web.xml中定义一个`ContextLoaderListener`来初始化Spring应用上下文。 3. **整合Struts2-Spring插件** 引入Struts2的Spring插件,该插件使得Spring管理的Action类可以在Struts2中直接使用。在...

    spring-ssj.rar_spring_spring+Struts2+jpa集成

    1. **Spring配置**:首先,我们需要配置Spring的核心上下文(如`applicationContext.xml`),声明Bean定义并管理依赖。这包括配置数据源、事务管理器、以及Struts2和JPA的相关组件。例如,对于JPA,我们可能需要配置...

    spring +struts + hibernate 例子

    整合过程中,Spring通常作为全局的上下文容器,管理Struts的Action和Hibernate的SessionFactory。Struts负责处理HTTP请求,调用Spring管理的业务服务,这些服务又依赖于Hibernate提供的DAO(数据访问对象)来操作...

    第27讲--Struts与Spring集成方案1(Struts集成Spring)

    6. **启动Spring上下文**:在Web应用的初始化阶段,需要启动Spring容器,使Struts2能够访问其中的Bean。这通常在`web.xml`中配置。 集成Struts2和Spring后,我们可以享受到Spring提供的诸多优点,比如: - **依赖...

    struts2和spring和Hibernate整合的jar包

    2. **配置Spring**:引入Spring的JAR包,包括Spring的核心、AOP、上下文、ORM等模块。在applicationContext.xml中配置bean,包括DAO、Service层组件,以及数据源、事务管理器等。 3. **配置Hibernate**:添加...

    Spring 和 struts 整合的三种方式

    首先,在`struts-config.xml`中配置`ContextLoaderPlugIn`插件,加载Spring的上下文配置文件,例如: ```xml &lt;plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"&gt; ``` 然后,创建...

    Spring + Struts2 需要的核心jar包,亲测

    - spring-context.jar:提供了应用程序上下文,是Spring框架的基础。 - spring-core.jar:核心工具类,包括资源加载、反射、转换服务等。 - spring-aop.jar:实现了面向切面编程的功能。 - spring-expression....

    spring+struts2图书管理系统

    其中,核心容器是Spring的基石,它包含Bean工厂(Bean Factory)和应用上下文(ApplicationContext),负责管理应用对象的生命周期和依赖关系。Spring JDBC模块则提供了数据库访问的抽象层,简化了数据库操作。 ...

    spring、struts、ibatis框架搭建流程

    - **context-param**:配置应用程序上下文参数,包括`webAppRootKey`和`log4jConfigLocation`,后者用于指定log4j配置文件的位置。 - **context-param**:配置Spring配置文件的位置,如`/WEB-INF/spring/...

    Spring+Struts2+Ibatis整合例子

    1. **配置Spring**:首先,我们需要配置Spring的上下文,包括定义Bean、配置数据源、配置事务管理器以及Struts2和iBatis的插件。 2. **配置Struts2**:接着,设置Struts2的配置文件,定义Action类、结果类型和拦截...

Global site tag (gtag.js) - Google Analytics