web.xml各配置元素的加载顺序

来源:互联网 发布:淘宝商城mp4 编辑:程序博客网 时间:2024/05/29 18:28
1.tomcat启动时,先扫描Web.xml,读取<listener>,<context-param>,<filter>,<servlet>等所有配置信息

2.创建ServletContext的servlet上下文,整个项目的所有servlet将共享本上下文

3.tomcat将<context-param>转换为键值对,并交给servletContext

4.容器创建<listener>中的类实例

5.触发contextInitialized方法,listener被调用(当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由ServletContextListener 来处理。在 ServletContextListener 接口中定义了处理ServletContextEvent 事件的两个方法contextInitialized;contextDestroyed,web.xml有contextLoaderListener监听器,spring等框架实现了本监听器的接口方法)

6.调用完contextInitialized方法后,容器再对filter初始化

7.容器对web.xml中的指定load-on-startup的值为正数Servlet初始化(优先级1,2,3...->递减),负数或不指定则在该Servlet调用时初始化(springMVC的初始化为此阶段)

结论:web.xml 的加载顺序是,以及同类型配置的加载顺序:
ServletContext -> context-param(无顺序)-> listener(无顺序)-> filter(书写顺序) -> servlet(load-on-startup优先级)
 
0 0
原创粉丝点击