`

spring mvc 双亲上下文问题

 
阅读更多

如果你使用了listener监听器来加载配置,一般在Struts+Spring+Hibernate的项目中都是使用listener监听器的。如下

 

<listener>   
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

 

Spring会创建一个全局的WebApplicationContext上下文,称为根上下文 ,保存在 ServletContext中,

key是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE属性的值。

可以使用工具类取出上下文:WebApplicationContextUtils.getWebApplicationContext(ServletContext);

 

DispatcherServlet是一个Servlet,可以同时配置多个,每个 DispatcherServlet有一个自己的 WebApplicationContext上下文,这个上下文继承了 根上下文 中所有东西,保存在 ServletContext中,

key是"org.springframework.web.servlet.FrameworkServlet.CONTEXT"+Servlet名称。

 

当一个Request对象产生时,会把这个WebApplicationContext上下文保存在Request对象中,

key是DispatcherServlet.class.getName() + ".CONTEXT"。

可以使用工具类取出上下文:RequestContextUtils.getWebApplicationContext(request);

 

Spring中的 ApplicationContext实例可以被限制在不同的作用域(scope)中。

在web MVC框架中,每个 DispatcherServlet有它自己的WebApplicationContext ,这个context继承了根WebApplicationContext 的所有bean定义。

这些继承的bean也可以在每个serlvet自己的所属的域中被覆盖(override),覆盖后的bean 可以被设置上只有这个servlet实例自己使用的属性。

 

总结:不使用listener监听器来加载spring的配置,改用DispatcherServlet来加载spring的配置,不要双亲上下文,只使用一个DispatcherServlet,事情就简单了,什么麻烦事儿也没有了。

 

 

 

分享到:
评论

相关推荐

    Spring MVC入门教程

    五、spring mvc 双亲上下文的说明 六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc 请求如何映射到具体的Action中的方法? 九、spring mvc 中的拦截器...

    Spring MVC 教程 快速入门 深入分析

    五、spring mvc 双亲上下文的说明 六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc 请求如何映射到具体的Action中的方法? 九、spring mvc 中的拦截器...

    Spring MVC 教程快速入门 深入分析

    五、Spring MVC双亲上下文的说明:在Spring MVC中,可以通过双亲上下文机制来共享Spring IoC容器中的Bean。这样,Spring MVC和Spring的应用程序上下文可以共享配置信息。 六、Spring MVC mvc.xml配置文件片段讲解:...

    spring mvc

    #### 五、Spring MVC 双亲上下文说明 在 Spring MVC 中,通常会使用两个不同的上下文(ApplicationContext): - **Root ApplicationContext**:一般用于管理非 Web 层的 Bean,例如数据访问层和服务层的 Bean。 - ...

    Spring_MVC_教程_快速入门_深入分析

    spring mvc 双亲上下文的说明 springMVC-mvc.xml 配置文件片段讲解 spring mvc 如何访问到静态的文件,如jpg,js,css? spring mvc 处理ajax请求 spring mvc 转发与重定向 如何给spring3 MVC中的Action做JUnit单元...

    spring mvc 快速入门深入分析

    当一个控制器需要访问其他 Bean 时,可以通过双亲上下文实现。 #### 六、mvc.xml 配置文件详解 `mvc.xml` 是 Spring MVC 的核心配置文件之一,用于配置 Spring MVC 的各种组件。示例配置包括但不限于: ```xml &lt;!...

    SpringMvc学习

    四、双亲上下文的说明 在Spring MVC中,一个Web应用可以有多个上下文:一个是DispatcherServlet的WebApplicationContext(通常简称为子上下文),另一个是ServletContext的根WebApplicationContext(通常称为父上...

    springMVC 教程

    双亲上下文(Parent Context)在SpringMVC中扮演着重要的角色,它涉及到Spring应用上下文的父子关系。本教程将讲解如何配置和利用双亲上下文来共享资源。 教程中还包含了对springmvc-mvc.xml配置文件的讲解,这是...

    阿里内部java面试题和答案

    - 性能优化:如调整最大连接数,优化线程池,减少上下文启动时间等。 6. **Redis** - Redis的数据类型:了解String、Hash、List、Set、Sorted Set等数据结构及其应用场景。 - 持久化:RDB和AOF两种持久化策略的...

    javasoluence

    在Java编程领域,"javasoluence"可能指的是对Java技术解决方案的探讨或者是一系列解决Java编程问题的集合。从提供的信息来看,我们没有具体的...如果你能提供更多的上下文或详细内容,我可以给出更精确的知识点解析。

    Java程序员笔试题

    - **配置信息:** 包含了Web应用的基本信息,如上下文参数、过滤器配置、监听器配置等。 - **安全配置:** 可以配置基于角色的安全认证机制。 **6. 安全认证** - **基本认证:** 用户名和密码直接通过HTTP头部传递...

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

Global site tag (gtag.js) - Google Analytics