http://blog.csdn.net/haitao111313/article/details/7717160
http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/
服务启动
Tomcat 的整体架构,Tomcat 主要有两个组件,连接器和容器,所谓连接器就是一个 http
请求过来了,连接器负责接收这个请求,然后转发给容器。容器即 servlet 容器,容器有很
多层,分别是 Engine,Host,Context,Wrapper。最大的容器 Engine,代表一个 servlet 引擎,
接下来是 Host,代表一个虚拟机,然后是 Context,代表一个应用,Wrapper 对应一个
servlet。从连接器传过来连接后,容器便会顺序经过上面的容器,最后到达特定的 servlet。
要说明的是 Engine,Host 两种容器在不是必须的。实际上一个简单的 tomcat 只要连接器和
容器就可以了,但 tomcat 的实现为了统一管理连接器和容器等组件,额外添加了服务器组
件(server)和服务组件(service),添加这两个东西的原因我个人觉得就是为了方便统一管
理连接器和容器等各种组件。一个 server 可以有多个 service,一个 service 包含多个连接器
和一个容器,当然还有一些其他的东西,看下面的图就很容易理解 Tomcat 的架构了:
一个父组件又可以包含多个子组件,这些被统一管理的组件都实现了 Lifecycle 接口。只
要一个组件启动了,那么他的所有子组件也会跟着启动,比如一个 server 启动了,它的所有
子 service 都会跟着启动,service 启动了,它的所有连接器和容器等子组件也跟着启动了,
这样,tomcat 要启动,只要启动 server 就行了,其他的组件都会跟随着启动,那么 server
是如何启动的?再让我们从头来看...
一般启动 Tomcat 会是运行 startup.bat 或者 startup.sh 文件,实际上这两个文件最后会
评论0