j2ee容器对象加载顺序及优先级概述
2015-05-06 11:28
169 查看
一、概述
web容器中,主要以三个容器对象的生命周期为导向,分别为:Listener/Filter/Servlet。总体概图如下:
同时,还存在着这样一种配置节点:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,加载顺序如下图:
①、加载Servlet时,分两种情况:启动时加载、懒加载。
启动时加载
只需在配置Servlet的时候加上节点
懒加载
即容器完成启动,响应对应第一次请求时对指定的Servlet进行初始化。对应启动加载情况,如果没有配置节点信息(load-on-startup)或者改节点信息为负值时对应懒加载。
②、Filter
web.xml 中当然可以定义多个 filter,与 filter 相关的一个配置节是 filter-mapping,这里一定要注意,对于拥有相同 filter-name 的 filter 和 filter-mapping 配置节而言,filter-mapping 必须出现在 filter 之后,否则当解析到 filter-mapping 时,它所对应的 filter-name 还未定义。web 容器启动时初始化每个 filter 时,是按照 filter 配置节出现的顺序来初始化的,当请求资源匹配多个 filter-mapping 时,filter 拦截资源是按照 filter-mapping 配置节出现的顺序来依次调用 doFilter() 方法的。
③、Listener
web.xml 中声明的先后顺序即为加载顺序。
web容器中,主要以三个容器对象的生命周期为导向,分别为:Listener/Filter/Servlet。总体概图如下:
同时,还存在着这样一种配置节点:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,加载顺序如下图:
①、加载Servlet时,分两种情况:启动时加载、懒加载。
启动时加载
只需在配置Servlet的时候加上节点
<load-on-startup>1</load-on-startup>,其中,值越小,优先级越高。(特别注意:最小值为0,负值时认为是懒加载)
懒加载
即容器完成启动,响应对应第一次请求时对指定的Servlet进行初始化。对应启动加载情况,如果没有配置节点信息(load-on-startup)或者改节点信息为负值时对应懒加载。
②、Filter
web.xml 中当然可以定义多个 filter,与 filter 相关的一个配置节是 filter-mapping,这里一定要注意,对于拥有相同 filter-name 的 filter 和 filter-mapping 配置节而言,filter-mapping 必须出现在 filter 之后,否则当解析到 filter-mapping 时,它所对应的 filter-name 还未定义。web 容器启动时初始化每个 filter 时,是按照 filter 配置节出现的顺序来初始化的,当请求资源匹配多个 filter-mapping 时,filter 拦截资源是按照 filter-mapping 配置节出现的顺序来依次调用 doFilter() 方法的。
③、Listener
web.xml 中声明的先后顺序即为加载顺序。
相关文章推荐
- j2ee中的listener、 filter、servlet 加载顺序及其详解
- javascript不依赖JS加载顺序事件对象实现
- 类加载及对象 成员变量初始化顺序
- 如何调整Linux内核启动中的驱动初始化顺序-驱动加载优先级
- 利用jQuery的deferred对象实现异步按顺序加载JS文件
- struts2_配置文件的加载顺序和优先级
- java 静态块,对象加载顺序
- Unity 一个对象加载多个脚本的时候的编译顺序
- web.xml文件加载顺序 一、 1 、启动一个 WEB 项目的时候, WEB 容器会去读取它的配置文件 web.xml ,读取 <listener> 和 <context-param>
- 类从加载到对象实例化的过程顺序
- c++顺序容器概述
- 字节码加载和class实例(静态成员变量对象加载顺序)
- (50)顺序容器概述
- 《C++ Primer》读书笔记第九章-1- 顺序容器概述 And 容器库概览
- 顺序容器概述
- java中类与对象的加载顺序
- java程序在执行过程中,类,对象以及它们成员加载、初始化的顺序如下:
- Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)
- 实例化一个对象(类加载)的执行顺序详解
- 【java虚拟机系列】java中类与对象的加载顺序