`

spring容器在web.xml中的初始化加载

 
阅读更多


spring通过xml配置加载XMLApplicationContext容器环境,在web.xml中有两种配置方法:


方法1,通过ContextLoaderListener加载spring容器


方法2,在DispatcherServlet内部配置spring的配置文件路径,加载容器



ContextLoaderListener在ServletContext会先于Servlet加载。加载后,会通过读取contextConfigLocation变量获得spring xml配置文件的路径,然后实例化XMLApplictionContext类型的spring容器。并将其作为servletContext.setAttribute,塞入servlet容器中。key为:ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE = WebApplicationContext.class.getName() + ".ROOT";


DispatcherServlet作为请求的分发入口,其父类FrameworkServlet首先根据contextAttribute配置值作为key,去servletContext中查找ApplicationContext的容器对象。如果找到,则直接使用。

如果没有找到或者未设置contextAttribute属性,则从contextConfigLocation中读取xml配置文件的地址,默认为 /WEB-INF/getServletName() + "-servlet.xml" 作为配置文件地址,进行容器的初始化。以 WebApplicationContext.class.getName() + ".ROOT" 作为key从servletContext中查找spring容器对象,并以此对象作为前者的parent。


分享到:
评论

相关推荐

    加载spring 文件,在web.xml中的配置

    当我们谈论“加载Spring文件,在web.xml中的配置”时,主要是指如何在Web应用启动时初始化Spring IoC(Inversion of Control,控制反转)容器并加载配置文件。 1. **使用ContextLoaderListener** `<listener>`标签...

    详解Spring mvc的web.xml配置说明

    4. **Spring容器的初始化** Spring的初始化配置通常通过`<context-param>`和`<listener>`标签来完成。`context-param`用于指定Spring上下文配置文件的位置,通常是一个或多个路径,用逗号分隔,如`classpath*:...

    web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序

    在`web.xml`中配置Listener时,其加载顺序通常发生在所有其他组件之前,因为它们经常用于初始化应用程序环境或配置Spring容器。 **示例代码:** ```xml org.springframework.web.context....

    java解决org.springframework.web.context.ContextLoaderListener

    在Java Web开发中,`org.springframework.web.context.ContextLoaderListener` 是Spring框架的一部分,它负责初始化一个Web应用程序的Spring上下文。这个监听器是基于Servlet容器(如Tomcat、Jetty等)的,当Web应用...

    struts.xml和applicationContext.xml、web.xml的配置

    最后,`web.xml` 是Web应用的部署描述符,它定义了Servlet、过滤器和监听器等Web组件,以及应用的初始化参数和会话超时等设置。在`web.xml` 中,你需要配置Struts2和Spring的前端控制器,使得它们能够拦截并处理HTTP...

    spring在web.xml中和在struts中的不同配置.[收集].pdf

    总结一下,Spring在`web.xml`中的配置主要关注ApplicationContext的初始化和配置文件的位置,而Struts中的配置则是在Struts2配置文件中声明Action和其依赖。两者的主要区别在于初始化时机和依赖管理的方式,Spring的...

    web.xml加载过程

    当启动一个Web应用时,服务器会读取并解析`web.xml`文件中的配置信息,以确保应用能够正确地初始化和运行。 ##### 加载流程: 1. **读取 `<listener>` 和 `<context-param>` 节点:** - 当启动Web应用容器(例如...

    web.xml中ContextLoaderListener的运行过程解析

    1. **初始化阶段**:当Servlet容器启动并加载Web应用时,会扫描`web.xml`文件,找到所有`<listener>`标签,为每个监听器创建实例。 2. **注册监听器**:Servlet容器将`ContextLoaderListener`实例注册为`...

    web.xml配置详细介绍(CHM)

    `web.xml`是Servlet容器(如Tomcat、Jetty等)启动时读取的配置文件,用于指导服务器如何处理Web应用中的请求和资源。通过这个文件,你可以设置初始化参数、映射Servlet、配置过滤器、声明安全约束等。 2. **基本...

    Tomcat(二) Tomcat实现:Servlet与web.xml介绍 以及 源码分析Tomcat实现细节1

    在web.xml文件中,你可以通过`<listener>`元素定义监听器,当Web应用启动时,Tomcat会实例化这些监听器并调用相应的初始化方法。 ```xml <listener-class>org.springframework.web.context....

    SSH和SSI等框架常用基础配置web.xml

    这样,Spring容器在启动时会自动加载这些配置文件并初始化。 #### 三、编码配置 ##### 3.1 `CharacterEncodingFilter` ```xml <filter-name>encodingfilter <filter-class>org.springframework.web.filter....

    spring4的所有jar包+applicationContext.xml+web.xml

    此外,还可以配置Spring的ContextLoaderListener,该监听器会加载`applicationContext.xml`,使得Spring的IoC容器能够在Web应用启动时初始化。 4. **Spring4的新特性**: - **Java配置**:Spring4增强了对Java配置...

    ssm框架基础配置文件web.xml模板springmvc.xml模板applicationContext.xml模板拿来即用

    在SSM框架中,web.xml主要配置DispatcherServlet(SpringMVC的前端控制器)、ContextLoaderListener(加载Spring的根应用上下文)和Filter(如字符编码过滤器)。 - DispatcherServlet配置:用于映射请求,一般...

    web.xml中的listen

    `web.xml`是Servlet容器用来初始化Web应用的一个核心配置文件,它允许开发者指定一系列监听器来监控Web应用的生命周期事件。其中一种常见的用途就是加载Spring的配置文件。 - **加载Spring配置文件**:这主要是通过...

    web.xml配置解析.pdf

    当web.xml中配置了`<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>`,容器启动时会调用其相关方法,初始化Spring应用上下文。ContextLoaderListener依赖于ContextLoader...

    spring在web.xml中和在struts中的不同配置

    Spring 在 web.xml 中和在 Struts 中的不同配置都是为了初始化 WebApplicationContext,这样我们才能使用 Spring 的依赖注入机制来管理 Bean。在实际开发中,我们可以根据需要选择合适的配置方式。

    web.xml配置解析[总结].pdf

    总结来说,`web.xml`配置解析是理解Java Web应用工作原理的关键,特别是对于Spring等框架的初始化和配置管理。正确配置监听器和初始化参数能够确保应用的正常运行,并为日后的维护和扩展提供便利。

    开发web_xml.rar_WEB XML_java web开发_web.xml_web开发_web

    在`web.xml`中,你可以定义Servlet,包括Servlet的类名、Servlet的URL映射以及初始化参数。例如: ```xml <servlet-name>MyServlet <servlet-class>com.example.MyServlet</servlet-class> ...

    struts2+hibenate+spring的配置文件

    同时,Spring的ApplicationContext加载器也会在这里配置,用于启动Spring容器并初始化相关的bean。 接下来,`struts.xml`是Struts2的核心配置文件,它定义了Action类、结果页面、拦截器等。在这个文件中,你可以...

Global site tag (gtag.js) - Google Analytics