码迷,mamicode.com
首页 > 编程语言 > 详细

Java Web容器的启动过程

时间:2017-08-29 18:06:15      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:let   tar   项目   实例   处理   web.xml   contex   自动   统一   

Java web容器的启动与处理请求的过程

1.启动一个web项目的时候,web容器回去读取它的配置文件web.xml,读取<Context-param>结点。

2.容器创建一个servletContext(Servlet上下文),这个web项目的所有部分都将共享这个上下文。

3.容器将<context-param>转换为键值对,并交个ServletContext。因为listener,filter等组件在初始化时会用到这些上下文的信息,所以要先加载。

4.容器创建<listener>的类实例,创建监听器。

5.加载filter和servlet

load-on-startup元素在-web应用启动的时候指定了servlet被加载的顺序,它的值必须是一个整数。如果它的值是一个负整数或者这个元素不存在,那么容器会在该servlet被调用的时候加载这个servlet。如果值是正整数或0,容器在配置的时候就加载并初始化这个servlet。容器必须保证值小的先被加载,如果值相等,容器可以自动选择加载谁。

web.xml的加载顺序是:Context--param--listener--filter--servlet

 

容器处理请求的过程

当web容器接收到来自客户端的请求信息后,会根据url中的web元件地址信息到servlet队列中查找对应的servlet对象,如果找到则直接使用,如果没有找到则加载对应的类,并创建对象。也就是说,servlet对象是在第一次被使用的时候才创建的,并且一旦创建就会被反复使用,不再创建新的对象。所有创建的servlet对象会在web服务器停止运行的时候,统一进行垃圾回收。

 技术分享

Java Web容器的启动过程

标签:let   tar   项目   实例   处理   web.xml   contex   自动   统一   

原文地址:http://www.cnblogs.com/peachwang/p/7449406.html

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