Java乾貨|解密Tomcat 的結構原理

平時我們在瀏覽器裏面輸入一個地址,比如http://localhost:端口號/資源文件

假設瀏覽器訪問的地址:http://localhost:8080/cms/index.jsp

1、請求的路徑被髮送到本機端口爲8080的服務,因爲tomcat在訪問之前,就已經啓動了,在tomcat的conf文件夾裏面有server.xml配置文件。

這個配置文件作用:監聽8080端口,一旦瀏覽器輸入地址來訪問的時候,就會被Connector HTTP/1.1 獲取發送過來的請求;

2、Connector獲取這個頁面發送過來的請求,在交給Service的Engine進行處理,並且會等待處理的返回結果,Engine根據你輸入localhost找到對應的的host主機;如上圖所示;

3、對應的host主機 會根據輸入 cms 這個內容,去到Context裏面進行匹配 查找,如果匹配上,會找到對應的項目,這個內容就是平時在server.xml裏面配置的Context 這個標籤

docBase:配置項目的本地路徑;通過Context配置 會找到對應的項目

4、找到對應的項目之後,會在項目裏面 找到WEB.XML文件,web.xml這個

(1)web.xml裏面可以配置context-param

這個表示配置全局參數信息 可以通過

(2)web.xml可以配置listener

Listener表示***:啓動服務的會進行加載 .

(3)web.xml可以配置filter

Filter表示過濾器,在訪問目標資源之前或者響應到目標之前,過濾器進行攔截處理;比較典型的過濾字符編碼、敏感字符過濾、權限處理、請求分發處理等等。

(4)web.xml還可以配置servlet

(5)可以配置session-config

(6)可以配置錯誤頁面

出錯之後,跳進錯誤頁面

(7)可以配置歡迎頁面

默認訪問的路徑

總體來說,web.xml裏面可以這些東西,這些東西有自己加載順序,加載順序如下圖

Web.xml根據配置的內容進行依次處理,處理完之後,把HttpServletResponse對象返回給Host主機。

5、Host把HttpServletResponse對象返回給Engine

6、Engine接收到之後,在返回給Connector

7、Connector在把最終的響應的結果展示給瀏覽器

整體的大體流程圖:

Server.xml配置圖

處理的過程 :從Service-->Conector-->Engine-->Host-->Context-->Host-->Engine-->Conector-->Service

文章來至:codexueyuan.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章