這里僅僅是對Tomcat7中主要組件進(jìn)行簡單說明波岛,沒有畫圖材彪,詳細(xì)的可以查看下tomcat的相關(guān)文檔冠息。
Server
Server表示整個(gè)容器碱蒙,Tomcat提供了一個(gè)默認(rèn)的Server接口的實(shí)現(xiàn)荠瘪,用戶幾乎很少自己實(shí)現(xiàn)Server接口。
Service
Service是一個(gè)中間組件赛惩,存活于Server中哀墓,綁定一個(gè)或者多個(gè)Connector到一個(gè)Engine上。用戶很少自己實(shí)現(xiàn)Service接口喷兼,默認(rèn)實(shí)現(xiàn)已經(jīng)足夠用篮绰。
Engine
表示一個(gè)特定Service的請求處理流程。一個(gè)Service可能有多個(gè)Connector季惯,Engine接受并處理這些來自Connector的所有請求吠各,將響應(yīng)傳回給適當(dāng)?shù)腃onnector以傳輸?shù)娇蛻舳恕ngine也很少由用戶自定義實(shí)現(xiàn)勉抓。
Host
Host是一個(gè)網(wǎng)絡(luò)名稱同Tomcat服務(wù)器的關(guān)聯(lián)贾漏。Engine可能存在多個(gè)Host。
Connector
Connector處理和客戶端的通信琳状。Tomcat中有很多可用的Connector磕瓷。
Context
Context表示一個(gè)web應(yīng)用盒齿,一個(gè)Host可能包含多個(gè)Context念逞,每個(gè)Context都有一個(gè)唯一的path。
總的架構(gòu)
Server可以表示是Tomcat边翁,一個(gè)Tomcat中只有一個(gè)Server翎承,一個(gè)Server下面可以有多個(gè)Service,每一個(gè)Service中包含多個(gè)Connector和一個(gè)Engine符匾,每個(gè)Engine包含多個(gè)Host叨咖,每個(gè)Host包含多個(gè)Context。
Engine其實(shí)是一個(gè)Container啊胶,Container是Engine甸各,Host,Context的父接口焰坪,這里把Engine稱為Container趣倾,所以此時(shí)可以有如下表示:一個(gè)Server下面有多個(gè)Service,每個(gè)Service包含多個(gè)Connector和一個(gè)Container某饰。
多個(gè)Connector和一個(gè)Container組成一個(gè)Service儒恋,這個(gè)Service就可以向外提供服務(wù)了善绎。