Tomcat内部结构及工作原理学习
概覽
Tomcat原本是Servlet/JSP的一個調(diào)試工具,后來才發(fā)展為一個Servlet/JSP的容器(不要輕視你寫的工具,說不定會變成一個有用的輪子呢)。
Tomcat作為Servlet容器,負責處理客戶請求,把請求傳送給Servlet并把結果返回給客戶。
Servlet容器與Servlet接口是由Java Servlet API定義的。
?
Tomcat的四種組件
每個元素都代表了一個種Tomcat組件,它們可以分成四類:
第一種:頂層類元素
比如Server和Service
第二種:連接器類元素
連接器類元素代表了介于客戶與服務之間的通信接口,負責將客戶的請求發(fā)送給服務器,并將服務器的響應傳遞給客戶。
第三種:容器類元素
容器類元素代表處理客戶請求并生成響應結果的組件,有三種容器類元素:Engine、Host和Context。Engine為特定的Service組件處理所有客戶的請求,Host組件為特定的虛擬主機處理所有的客戶請求。Context組件為特定的Web應用處理所有的客戶請求。
第四種:嵌套類元素
嵌套類元素代表了可以添加到容器中的組件,比如<Logger>元素、<Valve>元素和<Realm>元素。
Server代表整個Catalina Servlet容器,它是Tomcat實例的頂層元素,其中可以包含一個或者多個Service元素。
Service元素中包含一個Engine元素,以及一個或者個多個Connector元素,這些Connector共享同一個Engine元素。
Connector元素代表和客戶程序?qū)嶋H交互的組件,它負責接受客戶的請求,以及向客戶返回響應結果。
每個Service元素只能包含一個Engine元素,Engine元素可以處理在同一個Service中所有Connector元素接受到的客戶請求。
一個Engine元素中可以包含多個Host元素,每個Host元素定義了一個主機,它可以包含一個或者多個Web應用。
Context是使用得最頻繁的元素,每個Context元素代表了運行在虛擬機上的單個Web應用,一個Host元素中可以包含多個Context元素。
Tomcat內(nèi)部工作原理
從圖中可以看出來,Connector負責接受客戶的請求并向客戶返回響應,在同一個Service中,多個Connector共享一個Engine。同一個Engine有多個Host,同一個Host有多個Context。
這里只是簡單的介紹一下Tomcat的工作原理,但是內(nèi)部比這個還是要復雜得多,以后再學習咯。
轉(zhuǎn)載于:https://www.cnblogs.com/tuhooo/p/6185197.html
總結
以上是生活随笔為你收集整理的Tomcat内部结构及工作原理学习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。