Tomcat:系統架構
一、瀏覽器訪問服務器的流程

注意:瀏覽器訪問服務器使用的是Http協議,Http是應用層協議,用于定義數據通信的格式,具體的數據傳輸使用的是TCP/IP協議。
二、Tomcat系統總體架構
1、Tomcat請求大致過程
Tomcat是一個Http服務器(能夠接收并且處理http請求,所以tomcat是一個http服務器)。
我們使用瀏覽器向某一個網站發起請求,發出的是Http請求,那么在遠程,Http服務器接收到這個請求之后,會調用具體的程序(Java類)進行處理,往往不同的請求由不同的Java類完成處理。


HTTP 服務器接收到請求之后把請求交給Servlet容器來處理,Servlet 容器通過Servlet接口調用業務類。Servlet接口和Servlet容器這一整套內容叫作Servlet規范。
注意:Tomcat既按照Servlet規范的要求去實現了Servlet容器,同時它也具有HTTP服務器的功能。
Tomcat的兩個重要身份
1)http服務器
2)Tomcat是一個Servlet容器
2、Tomcat Servlet容器處理流程
當用戶請求某個URL資源時
1)HTTP服務器會把請求信息使用ServletRequest對象封裝起來
2)進一步去調用Servlet容器中某個具體的Servlet
3)在 2)中,Servlet容器拿到請求后,根據URL和Servlet的映射關系,找到相應的Servlet
4)如果Servlet還沒有被加載,就用反射機制創建這個Servlet,并調用Servlet的init方法來完成初始化
5)接著調用這個具體Servlet的service方法來處理請求,請求處理結果使用ServletResponse對象封裝
6)把ServletResponse對象返回給HTTP服務器,HTTP服務器會把響應發送給客戶

3、Tomcat系統總體架構
通過上面的講解,我們發現tomcat有兩個非常重要的功能需要完成
1)和客戶端瀏覽器進行交互,進行socket通信,將字節流和Request/Response等對象進行轉換
2)Servlet容器處理業務邏輯

Tomcat 設計了兩個核心組件連接器(Connector)和容器(Container)來完成 Tomcat 的兩大核心功能。
連接器,負責對外交流: 處理Socket連接,負責網絡字節流與Request和Response對象的轉化;
容器,負責內部處理:加載和管理Servlet,以及具體處理Request請求;






















