Servlet容器的启动过程--Tomcat为例子
来源:互联网 发布:forge软件 编辑:程序博客网 时间:2024/06/05 11:14
在Tomcat的容器等级中,Context容器直接管理Servlet在容器中的包装类Wrapper,所以Context容器如何运行将直接影响Servlet的工作方式.而且一个Context对应一个Web工程.
添加一个Web应用时将会创建一个StandardContext容器,并且给Context容器设置必要的参数url和path,一个是访问路径而另外一个是应用的实际物理路径,这两个参数就是Tomcat中的配置参数.其中最重要的一个配置是ContextConfig,它负责整个Web应用配置的解析工作.最后还要把这个Context容器加到父容器Host中.接下来就可以启动Tomcat了.
Tomcat的启动逻辑是基于观察者设计模式设计的,所有的容器都会继承Lifecycle接口,它管理着容器的整个生命周期,所有容器的修改和状态的改变都会由它去通知已经注册的观察者(Listener).
ContextConfig的init方法将会主要完成的工作有:
1.创建用于解析XML配置文件的contextDigester对象.
2.读取默认context.xml配置文件
3.读取默认Host配置文件
4.读取默认Context自身的配置文件
5.设置Context的DocBase(应用的物理路径)
ContextConfig的init方法完成后,Context容器就会执行startInternal方法.主要包括以下几个部分:
1.创建读取资源文件的对象
2.创建ClassLoader对象
3.设置应用的工作目录
4.启动相关的辅助类,如logger
5.修改启动状态,通知感兴趣的观察者(Web应用的配置)
6.子容器的初始化
7.获取ServeletContext并且设置必要的参数
8.初始化"load on startup"的Servlet
Web应用的初始化工作是在ContextConfig的configureStart方法中实现的,应用初始化就是要解析web.xml文件.
- Servlet容器的启动过程--Tomcat为例子
- 以Tomcat为例介绍Servlet容器启动过程
- 以Tomcat为例介绍Servlet容器启动过程
- 以Tomcat为例介绍Servlet容器启动过程
- Tomcat的容器模型和启动过程
- Servlet容器与Servlet,Tomcat的关系
- Servlet容器与Servlet,Tomcat的关系
- Tomcat启动过程中报错,servlet-api冲突
- JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP,servlet容器,Tomcat,servlet容器之间的关系
- JSP,servlet容器,Tomcat,servlet容器之间的关系
- Tomcat 容器的交互过程
- Tomcat的启动过程
- Tomcat的启动过程
- tomcat的启动过程
- tomcat的启动过程
- spring容器 的启动过程
- CProgressCtrl::SetBarColor无效的缘由
- 随笔录—2014.6.12
- linux ps命令介绍
- ArcGIS API for JavaScript 3.x linux离线部署
- 尺度不变特征转换(Scale-invariant feature transform 或 SIFT)
- Servlet容器的启动过程--Tomcat为例子
- 流量劫持是如何产生的?
- OpenCV(三) 关于图片的存储
- .NET Observer模式
- HTML标签转义问题
- 安装Kienct驱动后出现"no ready kinect found" 解决方案
- NPR-Hatching素描渲染
- /etc/rc.d/与/etc/rc.d/init.d的关系 (转)
- How to: Manage CBO Statistics During an Upgrade from 10g or 9i into 11g (文档 ID 465787.1)