Tomcat 請求流程

2021-08-14 09:41:13 字數 638 閱讀 3297

以nio為例

1. nioendpoint.acceptor 阻塞處理 accept() 並把合適的socket 放置blockingqueue

2.  nioendpoint.poller 從blockingqueue拿socket,使用nio的非阻塞方式 處理read(),把read()事件ready的socket交給執行緒池處理

3. read() http請求內容幷包裝request

7. 找到request path匹配的所有filter+servlet 組成filterchain 然後呼叫filterchain

8. 在所有的filter的dofilter() 跑完後 呼叫servlet 的service() 

9. 返回結果寫回 socket

jsp流程

假使訪問流程如下:

1)訪問jsp

2)修改jsp

3)再次訪問jsp(以下展示此次流程)

1). 檢視是否開啟jsp動態編譯||是否第一次載入jsp。如果是則首先檢測該jsp有沒有修改。如果有,則使用jdtcompiler編譯jsp為class。

2). 呼叫原先的jsp對應servlet的destroy()方法

4). 呼叫jsp對應class檔案的_jspservice()方法

tomcat請求流程淺解

tomcat的架構圖大概是這樣的規律,乙個server有多個servcie,乙個service分為conector container realm logging sesssion jspaer等元件,connector分為http ajp的connector,container有乙個engine,...

Tomcat執行流程

tomcat內部流程圖 假設來自客戶的請求為 http localhost 8080 test index.jsp 請求被傳送到本機埠8080,被在那裡偵聽的coyote http 1.1 connector獲得 connector把該請求交給它所在的service的engine來處理,並等待eng...

HTTP請求流程

最近一直在研究如何讓asp.net實現上傳大檔案的功能,所以都沒怎麼寫技術類的文章了。可惜的是至今還沒研究出來,慚愧 不過因為這樣,也了解了一下http訊息請求的大致過程。我就先簡單介紹下,然後再來講如何利用telnet來模擬http請求。講得不對的地方還希望大家給我指出來。因為內容比較多,所以分成...