tomcat運行在JVM中,運行在JVM中以後,它會啓動一個JVM實例,這個JVM實例稱之爲叫作tomcat server;
一個server就是運行在JVM中的一個實例,這個實例內部跑的是tomcat;
connector:就是鏈接器;
一個server的內部能夠存在多個容器(這個容器就是Engine);
http connector:鏈接http協議的鏈接請求;
一個service上只能有一個容器,可是一個service能夠有多個connector,service就是把鏈接器(connector)和容器(Engine)創建對應的關係;
一個connector只能屬於一個service;
engine組件是真正運行代碼的,用於解析servlet代碼,返回java代碼運行結果的容器;
engine把它想象爲httpd,它能夠運行不少hosts,每個hosts至關於一個虛擬主機,就是不少的虛擬主機;
一個tomcat能夠提供多個虛擬主機;java
下面是tomcat配置文件的結構圖:web
<Server>
<Service> #一般只有一個service
<connector/>
<connector/>
<Engine> #Engine至關於一個httpd的web程序
<Host/>
<Host>
<Context/> #能夠有多個Context
… ….
</Host>
</Engine>
</Service>
</Server>apache
tomcat的每一個組件均由java類實現;它的核心引擎則是:catalinatomcat
tomcat配置文件能夠分爲以下幾類:
頂級組件:Server
服務類組件:Service組件,本質上也能夠理解爲頂級組件
鏈接器:http,https,ajp(apache jserv protocol)
容器類:Engine,Host,Context
被嵌套的組件:valve(閥門類組件,它是一個控制工具,實現訪問控制,實現記錄訪問日誌等等),logger(日誌工具),realm(領域,用戶認證的),loader(加載器,指明如何加載類的,只能在context中使用的),manager(管理器)
集羣類組件:listener(偵聽java內部的某些服務的)ide