Tomcat整體結構簡單介紹

2022-09-24 23:54:15 字數 1797 閱讀 9384

tomcat作為web容器廣為人知,從我最開始學一直到現在工作,可以說是伴隨了我的整個程式設計生涯。tomcat的本質是乙個servlet容器。乙個servlet能做的事情是:處理請求資源,並為客戶端填充response物件。

tomcat則負責載入我們編寫的servlet類,呼叫s程式設計客棧ervlet的init()方法,對於乙個request請求,建立乙個servletrequest和乙個servletresponse例項,呼叫該servlet的service()方法,將servletrequest和servletresponse作為引數傳入,關閉該servlet時,呼叫destroy()並將其解除安裝。接下來簡單介紹一下tomcat整體的結構。

tomcat 的總體結構

如圖,tomcat最主要的為兩個元件是聯結器(connector)和容器(container)。多個connector和乙個container組成乙個service,service用於對外提供服務,而service的生命週期由server來控制。server屬於最頂層的抽象。

聯結器(connector)用於處理網路連線相關的事情,如socket連線,request封裝,連線線程池等工作。容器(container)主要處理 connector 接受的請求。service 只是在 connector 和 container 外面多包一層,把它們組裝在一起,向外面提供服務,乙個 service 可以設定多個 connector,但是只能有乙個 container 容器。所有元件的生命週期qdeuyggngt都使用lifecycle介面統一管理,裡面包含init,start,stop,destory方法。

最初的聯結器(connector)只能設定成bio模式,現在的高版本tomcat預設的連線模式都是nio,很大程度上了提公升了請求的併發量。

容器(container)在tomcat中一共有4種形式,從頂至下依次是engine,host,context,wrapper。乙個wrapper則對應乙個servlet,乙個context對應乙個應用,乙個host對應乙個站點,engine是引擎,乙個容器只有乙個。容器之間的啟動都是使用

tomcat 容器模型

簡單介紹了下tomcat整個的結構,下面就通過tomcat乙個請求的處理流程來加深理解。假設請求為:http://localhost:8080/test/index.jsp,那麼tomcat的處理流程為

1.請求被傳送到8080埠,被connector獲得。

2.connector把請求交給他所在的service的engine處理,等待engine回應。

3.engine獲得請求位址,匹配虛擬主機host

4.engine匹配到名為localhost的程式設計客棧host,該host獲得請求為 /test/index.jsp,匹配該host擁有的context

5.host匹配到路徑為/test的context,若匹配不到則交給名為「空的context處理

6.該context獲得請求/inde程式設計客棧x.jsp,在對映檔案中尋找對應的servlet

7.context匹配到模式為*.jsp的servlet,找到對應jspservlet類(jsp最終會轉換成servlet)

8.構造htttpservletrequest和httpservletresponse物件,作為引數呼叫jspservlet的doget或dopost

9.context把response返回給host

10.host把response返回給engine

11.engine把response返回給connector

12.connector把response返回給使用者瀏覽器,請求結束

本文標題: tomcat整體結構簡單介紹

本文位址:

簡單總結Tomcat整體結構和工作原理

一 tomcat 軟體目錄結構及功能 bin 服務相關指令碼,例如 啟動 關閉等 conf 存放不同的配置檔案,列如 server.xml web.xml lib tomcat 執行需要的庫檔案 logs 執行的日誌檔案 work 存放jsp編譯後的class檔案 二 server分析系統結構 se...

tomcat的簡單介紹

tomcat的簡單介紹 tomcat 伺服器是乙個免費的開放源 的web 應用伺服器,屬於輕量級應用伺服器。1 tomcat目錄結構 2 各個目錄結構含義 的配置檔案 lib 存放 tomcat 執行需要的 jar包。logs 存放 tomcat 在執行過程中產生的日誌檔案 temp 存放 tomc...

Tomcat整體架構解析

2元件的生命線lifecycle 啟動流程 pipeline valve機制 tomcat中的設計模式 comment 本文基於tomcat7.0.68 架構圖 從頂層開始 connector接受到請求後,會將請求交給container,container處理完了之後將結果返回給connector ...