Tomcat分析 結構設計

2021-07-09 22:01:59 字數 1214 閱讀 7570

喵喵喵。。。。之前一段時間在除錯tomcat,分析結構,還找出來原來看不懂的how tomcat works。。。跟著寫了一陣子。。。感覺還是學到了寫東西的。。。那記錄一下吧

先說說tomcat的系統架構。。。tomcat中最頂層的容器是server,代表整個伺服器,server裡有乙個或多個service,表示具體服務。service主要包含兩部分:connector和container.

connector用於處理連線相關的事情,並提供socket與request,response的轉換,container用於封裝和管理servlet,以及具體處理request請求。

catalina--tomcat中的server由catalina來管理,不過它的入口方法在bootstrap類。catalina是整個tomcat的管理者,是開始/關閉shell指令碼的主類。它裡面有三個方法load,start,stop分別用來管理整個伺服器的生命週期:

--load方法用於根據conf/server.xml檔案建立server並呼叫server的init方法進行初始化。

--start方法用於開啟伺服器

--stop方法用於停止伺服器

service--service是包含connector和container的集合,service用適當的connector接收使用者的請求,再發給相應的container來處理。

connector--實現某一協議的聯結器,如預設的有實現http、https、ajp協議的。

engine--engine包含host和context,接到請求後仍給相應的host在相應的context裡處理。

host--就是我們所理解的虛擬主機。

context--就是我們所部屬的具體web應用的上下文,每個請求都在是相應的上下文裡處理的。

下面就是些被container所用的基礎元件:

loader--是被container用來載入各種所需的class。

manager--是被container用來管理session池。

realm--是用來處理安全裡授權與認證。

參考:

1. 看透spring mvc 源**分析與實際

2. 

高階結構設計

1.軟體設計引論 2.結構化設計 3.物件導向設計 物件導向設計方法的特點 通過對實際問題的分析,從中抽象出物件,再使用程式語言來表現它 物件導向設計方法的過程 識別物件中的子物件,並識別出對於子物件的操作,然後再根據子物件的操作開發出乙個系統 結構化設計和物件導向設計共有特性 1.將乙個系統分解成...

迴圈結構設計

c語言有2種常用的迴圈結構,分別是for迴圈和while迴圈。其中while迴圈使用的頻率相對較多,下面我們先看for迴圈。for迴圈 for 這是乙個死迴圈,何為死迴圈,就是永不停止的迴圈。比如for 分割線 int i for i 0 i 10 i 該語句表示,迴圈列印10次hello worl...

選擇結構設計

一 選擇結構和條件判斷。1 用if語句實現選擇結構 例 輸出三個數,將其按從大到小排列輸出。在這裡插入 片 include int main if a c if b c printf a d,b d,c d n a,b,c 解釋 定義三個數a,b,c用來比大小 用if語句作為判斷,滿足該條件就執行裡...