tomcat能夠接收並處理http請求,同時它按照servlet規範實現了servlet容器,所以它即是http伺服器也是servlet容器。
我們發現tomcat有兩個非常重要的功能需要完成
1)和客戶端瀏覽器進行互動,進行socket通訊,將位元組流和request/response等物件進行轉換
2) servlet容器處理業務邏輯
其實,也可以認為整個tomcat就是乙個catalina例項, tomcat 啟動的時候會初始化這個例項, catalina例項通重載入server.xml完成其他例項的建立,建立並管理乙個server, server建立並管理多個服務,每個服務又可以有多個connector和乙個container。
乙個catalina例項(容器)
乙個 server例項(容器)
多個service例項(容器)
每乙個service例項下可以有多個connector例項和乙個container例項
負責解析tomcat的配置檔案(server.xml), 以此來建立伺服器server元件並進行管理;
server:
伺服器表示整個catalina servlet容器以及其它元件,負責組裝並啟動servlaet引擎,tomcat聯結器。 server通過實現lifecycle接⼝,提供了一種優雅的啟動和關閉整個系統的方式;
service:
服務是server內部的元件,乙個server包含多個service。它將若干個connector元件繫結到乙個container;
connector和container是tomcat的兩個核心元件來完成其的兩大核心功能。
connector,負責對外交流:處理socket連線,負責網路位元組流與request和response物件的轉化;
container,負責內部處理:載入和管理servlet,以及具體處理request請求,並返回物件給web使用者的模組;
在 tomcat 中,聯結器負責和客戶端進行請求響應的交流。 tomcat 中有兩種聯結器 (coyote 和 jk 聯結器 ) , coyote 聯結器實現了 http1.1 協議,我們可以將它理解為 tomcat 的 web 伺服器部分。 jk 聯結器負責處理來自第三方web 伺服器的請求,並將請求結果傳送給第三方 web 伺服器。針對 apachehttpd web 伺服器, jk 聯結器實現了 ajp 協議。
coyoteadapter 是connector的成員,負責呼叫container。
coyote 元件及作用:
元件作用描述
engine
表示整個catalina的servlet引擎,用來管理多個虛擬站點,乙個service最多只能有乙個engine,但是乙個引擎可包含多個host
host
代表乙個虛擬主機,或者說乙個站點,可以給tomcat配置多個虛擬主機位址,而乙個虛擬主機下可包含多個context
context
tomcat伺服器體系結構
2020雲棲大會 阿里雲海量offer來啦!投簡歷 贏阿里雲限量禮品及阿里雲aca認證免費考試資格!tomcat伺服器體系結構 it那個小筆記 體系結構 server service connector engine host context 體系結構 server.xml是tomcat中最重要的配...
mysql 體系結構 了解MySQL體系結構
mysql 資料庫體系結構圖 mysql 由以下幾部分組成 1 connectors 不同語言中與 sql 的互動 show variables like connection variable name value character set connection utf8 collation c...
簡述mysql體系結構 MySQL體系結構
一 mysql登入方式 一 tcp ip方式 遠端 本地 mysql uroot poldboy123 h 10.0.0.51 p3306 二 socket方式 mysql uroot poldboy123 s tmp mysql.sock 二 例項介紹 例項 mysqld後台守護程序 主線程 ma...