平時我們在瀏覽器裏面輸入一個地址,比如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