Tomcat系统架构!

总体架构

最顶层是Server:指的是一个Tomcat实例。

一个Server中有一个或者多个Service,一个Service中有多个连接器和一个容器。

  • 连接器与容器之间通过标准的ServletRequest和ServletResponse通信。

1358

容器结构

Tomcat设计了4种容器,分别是Engine、Host、Context和Wrapper。

  • 这4种容器不是平行关系,而是父子关系。

Context:

  • 表示一个Web应用程序。

Wrapper:

  • 表示一个Servlet,一个Web应用程序中可能会有多个Servlet。

Host:

  • 代表的是一个虚拟主机,或者说一个站点,可以给Tomcat配置多个虚拟主机地址,而一个虚拟主机下可以部署多个Web应用程序。

Engine:

  • 表示引擎,用来管理多个虚拟站点,一个Service最多只能有一个Engine。

1358

请求定位Servlet的过程:

Tomcat会创建一个Service组件和一个Engine容器组件。

在Engine容器下创建两个Host子容器,在每个Host容器下创建两个Context子容器。

由于一个Web应用通常有多个Servlet,Tomcat还会在每个Context容器里创建多个Wrapper子容器。

每个容器都有对应的访问路径。

1358