`

org.springframework.web.struts.ContextLoaderPlugIn 和 org.springframework.web.con

 
阅读更多

转载至:http://www.blogjava.net/beijing2008/articles/317973.html

 

org.springframework.web.struts.ContextLoaderPlugIn 和 org.springframework.web.con

是视图层加载sping的两种方式。
那么这两种方式谁的优先级高,从容器加载程度上看,是org.springframework.web.context.ContextLoaderListener

那么两种方式都被配置在项目中,会使用哪个一个呢?
答案是org.springframework.web.struts.ContextLoaderPlugIn

当然如果你不需要在视图层采用lazy而配置org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
那么你可以两个都配置。
但如果你需要使用,那就会。

我们知道,容器初始化Spring配置文件时,使用getServletContext( ) .setAttribute方法key,value全局保存。
那么当你使用OpenSessionInViewFilter时,他取得的是哪个呢?

其实OpenSessionInViewFilter是sping的Filter,它 采用WebApplicationContextUtils的方式获得WebApplicationContext
,但它并不能加载由struts-config.xml文件ContextLoaderPlugIn提供初始化的上下文。

如果你需要在视图层加载一对对....等关联对象。那么就会有
could not initialize proxy - the owning Session was closed
错误。
到此处我们看到,sping在应用程序和OpenSessionInViewFilter之间,加载了不同的上下文。
我们知道OpenSessionInViewFilter下无法获得ContextLoaderPlugIn加载的上下文,那我们可以推算,
应用程序应该加载了ContextLoaderPlugIn上下文,而OpenSessionInViewFilter却加载了ContextLoaderListener的上下文。
才导致视图层session有关闭的问题。

尝试解决此问题,若你配置了两个,则删除ContextLoaderPlugIn的加载方式。
若你只配置了ContextLoaderPlugIn的加载方式,则改成ContextLoaderListener加载方式。

分享到:
评论

相关推荐

    spring-struts.jar

    org.springframework.web.struts.ContextLoaderPlugIn.class org.springframework.web.struts.DelegatingActionProxy.class org.springframework.web.struts.DelegatingActionUtils.class org.springframework.web....

    MyContextLoaderPlugIn.jar

    和Spring中OpenSessionInView由于org.springframework.web.struts.ContextLoaderPlugIn中保存同一个对象的名不同导致openSessionInView失效 稍微修改后在struts-config.xml中使用MyContextLoaderPlugIn.jar包中...

    struts,spring,hibernater集合文档

    className="org.springframework.web.struts.ContextLoaderPlugIn"> ``` - 配置请求处理器为 Spring 提供的 `DelegatingRequestProcessor`。 - 示例代码: ```xml ...

    Spring整合Struts

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"/> ``` 为了自定义配置文件的位置,可以使用"contextConfigLocation"属性: ```xml <plug-in className="org.springframework.web....

    struts spring hibernate整合

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/springhiberante.xml"/> ``` **2. 在struts-config.xml中指定路径...

    Spring集成Struts、Hibernate.pdf

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn" /> </struts-config> ``` - **Spring配置文件**:在`action-servlet.xml`中配置需要的Bean。 ```xml <beans xmlns="http://www....

    spring和struts整合的三种方案

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/> ``` 这种方式使得 Spring 容器能够...

    SSH框架集成步骤

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="classpath:applicationContext.xml"/> ``` 这里的`contextConfigLocation`...

    Spring 和 struts 整合的三种方式

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/> ``` 然后,创建一个Action类,如`...

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

    具体实现方法是让自定义的Action继承自`org.springframework.web.struts.ActionSupport`类,这样就可以在Action中使用Spring的依赖注入和其他特性了。 **示例代码**: ```java public class LoginAction extends ...

    spring 和 struts整合

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/beans.xml" /> ``` 这样,Struts就会在启动时加载`beans.xml`...

    spring与struts的整合

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/applicationContext.xml"/> ``` - **ContextLoaderPlugIn**:该...

    ssh架构配置文件配置

    - `className="org.springframework.web.struts.ContextLoaderPlugIn"`指定了插件类。 - `<set-property property="contextConfigLocation" value="classpath:applicationContext.xml" />`指定了Spring核心配置...

    spring 整合 struts 文档

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/classes/applicationContext.xml"/> ``` 2. **编写继承...

    整合Spring与Struts的几种方法

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugin"> <set-property property="contextConfigLocation" value="/WEB-INF/config.xml"/> ... </struts-config> ``` `config.xml`是...

    Struts+Spring+Hibernate整合

    className="org.springframework.web.struts.ContextLoaderPlugIn"> value="/WEB-INF/applicationContext.xml"/> ``` ##### 3. 整合Hibernate - **配置Hibernate库** - 选择Hibernate所需的JAR包并复制到`/...

    spring,struts1.x ,hibernate整合

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property property="contextConfigLocation" value="/WEB-INF/action-servlet.xml,/WEB-INF/applicationContext.xml"/> ``` ...

    ssh,ssh,ssh

    <plug-in className="org.springframework.web.struts.ContextLoaderPlugIn"> <set-property value="/WEB-INF/applicationContext.xml,/WEB-INF/appContext.xml" property="contextConfigLocation"/> ``` ####...

    ssh三大框架整合

    如果不希望在`struts-config.xml`中配置`ContextLoaderPlugIn`插件,可以在`web.xml`中配置一个监听器`org.springframework.web.context.ContextLoaderListener`来装载Spring上下文。 2. **特点**: - 不使用...

Global site tag (gtag.js) - Google Analytics