- Server是Tomcat最顶层的容器
- Service用于提供服务
- Connector用于处理连接相关的事情,并提供Socket与request和response的转换
- Container用于封装和管理Servlet,以及具体处理request请求
一、启动过程
- Catalina:是Tomcat的管理类
- Bootstrap:是Tomcat的入口类
1、Bootstrap启动过程
- 第465行
bootstrap.init();
main方法作用
- init方法初始化了ClassLoader,并用ClassLoader创建了Catalina实例,然后赋值给catalinaDaemon变量
- 根据main方法args参数执行对应的生命周期方法,以start方法为例
- 利用反射调用Catalina的start方法,实际上就是走的Catalina类的生命周期方法
说到生命周期方法,就得知道那几个方法是生命周期方法了
- start
- stop
- load
- 还有一个重要的方法:await,他不是生命周期方法,但是他让主线程不会退出。
2、Catalina启动过程
WEB-INF/web.xml ${catalina.base}/conf/web.xml
default org.apache.catalina.servlets.DefaultServlet debug 0 listings false 1