`
macken
  • 浏览: 342118 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web.xml配置

 
阅读更多

context-param ServletContext

web.xml中配置的加载顺序依次为 context-param->listener->filter->servlet

其中不同配置的加载顺序与文件中的顺序无关,对于同类配置而言,他们的加载与顺序有关;

web容器启动时初始化每个filter时,是按照filter配置节出现的顺序来初始化的,当请求资源匹配多个filter-mapping时,filter拦截资源是按照filter-mapping配置节出现的顺序来依次调用 doFilter()方法;

Servlet与Filter类似

 

1.启动web项目,容器会读取web.xml配置文件中的两个节点<listener>和<context-param>

2.容器创建一个ServletContext,应用范围内即整个Web项目都能试用这个上下文;

ServletContext接口表示一个Web应用的上下文,可以想象成一个web的共享数据区域,该局域保存整个web共享数据,当一个web应用启动的时候,就会创建该ServletContext接口的实现类,可以根据需求读写这个web共享区的数据。

ServletContext是一个全局的驻村信息的空间,服务器开始,其就存在,服务器关闭,其才释放。Request 一个用户可以有多个,Session一个用户只有一个,而ServletContext所有用户共用一个,所以为了节省空间,提高效率,ServletContext中,要防必须的、重要的、所有用户需要共享的线程又是安全的信息。

3.接着容器会将读取到<context-param>转化为键值对,并交给ServletContext;

4.容器创建<listener></listener>中的类实例,即创建监听(listener定义的类可以是自定义的类但必须需要集成ServletContextListener

5.在监听的类中会有一个contextInitialized(ServletContextEvent event)初始化方法,在这个方法中可以通过event.getServletContext().getInitParameter("contextConfigLocation")来得到context-param设定的值。在这个类中还必须有一个contextDestroy(ServletContextEvent event)销毁方法,用于关闭应用前释放资源。

6.得到这个context-param的值之后,可以做一些操作,这个时候你的WEB项目还没有完全启动完成。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics