码迷,mamicode.com
首页 > 其他好文 > 详细

j2ee容器对象加载顺序及优先级概述

时间:2015-05-06 13:20:11      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:j2ee   优先级   listener   filter   servlet   

一、概述

  • 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容器对象加载顺序及优先级概述

标签:j2ee   优先级   listener   filter   servlet   

原文地址:http://blog.csdn.net/cqstart116/article/details/45481711

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!