Container接口是Tomcat中容器的接口,Container一共有4个子接口(容器类型):web
而ContainerBase是Container的默认实现类,而上面4个子接口的默认实现类为 StandarXxx。app
从类图中有能够发现他们也是经过Lifecycle接口管理生命周期的webapp
默认的配置以下(已加中文注释)spa
<?xml version='1.0' encoding='utf-8'?> <!-- 在8005端口 监听SHUTDOWN命令--> <Server port="8005" shutdown="SHUTDOWN"> <!-- 定义一个名字Catalina的Service --> <Service name="Catalina"> <!-- 定义一个Connector,在8080端口箭头HTTP的请求 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <!-- 定义一个Connector,在8009端口箭头AJP的请求 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> <!-- 定义一个名字为Catalina,默认Host为localhost --> <Engine name="Catalina" defaultHost="localhost"> <!-- 定义一个名字为localhost的Host(也是Engine定义的默认Host), appBase="webapps" 该Host的默认目录为webapps unpackWARs="true" 自动解压war包 autoDeploy="true" 自动部署 --> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- Host的别名--> <Alias>xxx</Alias> </Host> </Engine> </Service> </Server>
在定义Engine的时候,defaultHost表示当请求的域名在全部host中都找不到的时候,使用默认的Host。code
注:若是使用IP来访问也会使用defaultHost。xml
注:全部Service是共享Connector的接口
Context有三种配置方式:生命周期