1、tomcat架构图
从上图中可以看出 Tomcat 的心脏是两个组件:Connector 和 Container,关于这两个组件将在后面详细介绍。Connector 组件是可以被替换,这样可以提供给服务器设计者更多的选择,因为这个组件是如此重要,不仅跟服务器的设计的本身,而且和不同的应用场景也十分相关,所以一个 Container 可以选择对应多个 Connector。多个 Connector 和一个 Container 就形成了一个 Service,Service 的概念大家都很熟悉了,有了 Service 就可以对外提供服务了,但是 Service 还要一个生存的环境,必须要有人能够给她生命、掌握其生死大权,那就非 Server 莫属了。所以整个 Tomcat 的生命周期由 Server 控制。
Connector 负责接收请求,Container负责处理请求
Container表示能够执行客户端请求并返回响应的一类对象。 在Tomcat中存在不同级别的容器:Engine 、 Host 、 Context、 Wrapper
- Server:一个Server包含多个Service,一个Service维护多个Connector和一个Container(Tomcat将Container重命名为Engine,用以表示servlet引擎)。
- Connector:负责开启Socket监听客户端请求。
- Engine:Tomcat将Container重命名为Engine,用以表示servlet引擎,包含多个Host。
- Host:提供虚拟机主机功能,一个Engine下包含多个虚拟主机功能。
- Context:用以表示一个web应用,并且一个Engine可以包含多个Context。
- Wrapper:Tomcat将servlet定义为Wrapper。