tomcat提供Connector和Container两个核心功能。
- Connector(coyote)用于处理网络连接
- Container(catalina) 负责Servlet加载和请求处理
两者关系如下
组件介绍
组件 | 说明 |
---|---|
Server | 表示整个Servlet容器,tomcat运行环境中只有一个Server实例 |
Service | 一个Server实例中可以有多个Service实例,相互独立,Service是Connector集合 |
Connector | 用于监听和处理Socket请求 |
Container | 执行客户端请求并返回响应的一类对象,包括如下几种容器 |
Engine | Servlet引擎,是获取以下目标融洽的入口 |
Host | 与网络相关的一类容器 |
Context | 用于表示ServletContext,Servlet规范中,一个ServletContext表示一个web应用 |
Wrapper | web应用中定义的Servlet |
Executor | tomcat组件间共享的线程池 |
各组件间关系如下图
配置多个Context
Host配置多个Context,实现同一tomcat同一个端口部署多个应用,通过context来区别路由
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context docBase="D:\software\apache-tomcat-8.0.38\webapps\mini-demo1" path="demo1"></Context>
<Context docBase="D:\software\apache-tomcat-8.0.38\webapps\mini-demo2" path="demo2"></Context>
</Host>