對tomcat整體的架構有了宏觀的瞭解,老師根據套娃這個遊戲,生動形象的描述了tomcat設計的方式套娃式
同時講解了tomcat的主要功能:
HTTP服務器功能,socket通信,解析HTTP報文。
servlet容器功能,servlet處理具體的業務邏輯。
TOMCAT 架構
server代表tomcat實例,因爲Catalina(servlet)容器是tomcat的核心,所以我們通常說的tomcat實例就是一個Catalina實例
Server 裏邊 可以有多個service
一個 Service由一個或者多個connector(連接器組件)組件(監聽不同的端口請求,解析請求),和一個servlet容器(做具體的業務邏輯)container 組成。
Container 裏邊包括一個engine, engine支持定義多個虛擬主機host。
wapper包裝組件 ,在上下文中可以部署多個servlet,並且每個包裝組件都會包含一個servlet
context是上下文對象, 每個虛擬主機可以部署多個web應用。
Tomcat 的connector(組件連接器)包含 3 個組件:分別是 EndPoint、Processor 和 Adapter。
來完成連接器的3 個高內聚的功能:網絡通信、應用層協議解析、Tomcat Request/Response 與 ServletRequest/ServletResponse 的轉化。
EndPoint 負責響應客戶端請求提供字節流給 Processor,
Processor 負責提供 Tomcat Request 對象給 Adapter,
Adapter 負責提供 ServletRequest 對象給容器
Tomcat 這種一層層的架構好處是組件關係清晰,xml配置中標籤的包含關係與tomcat架構設計對應,方便在後續解讀xml以及對象封裝