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有三種配置方式:生命週期