Tomcat執行流程

2021-09-01 01:23:01 字數 794 閱讀 9602

tomcat內部流程圖

假設來自客戶的請求為:http://localhost:8080/test/index.jsp

請求被傳送到本機埠8080,被在那裡偵聽的coyote http/1.1 connector獲得

connector把該請求交給它所在的service的engine來處理,並等待engine的回應

engine獲得請求localhost:8080/test/index.jsp,匹配它所有虛擬主機host

engine匹配到名為localhost的host(即使匹配不到也把請求交給該host處理,因為該host被定義為該engine的預設主機)

localhost host獲得請求/test/index.jsp,匹配它所擁有的所有context

host匹配到路徑為/test的context(如果匹配不到就把該請求交給路徑名為""的context去處理)

context匹配到url pattern為*.jsp的servlet,對應於jspservlet類

構造httpservletrequest物件和httpservletresponse物件,作為引數呼叫jspservlet的doget或dopost方法

context把執行完了之後的httpservletresponse物件返回給host

host把httpservletresponse物件返回給engine

engine把httpservletresponse物件返回給connector

connector把httpservletresponse物件返回給客戶browser

源自: 

Tomcat原始碼執行流程解讀

1 tomcat架構圖 開局一張圖,內容全靠編。2 從tomcat架構圖可以看出tomcat的本質就是乙個伺服器 server 然後下面有多個服務 service 每個服務下面又包含多個聯結器 connector connector是連線外部網路的紐帶。engine這個引擎下面又有多個host,而h...

Tomcat 請求流程

以nio為例 1.nioendpoint.acceptor 阻塞處理 accept 並把合適的socket 放置blockingqueue 2.nioendpoint.poller 從blockingqueue拿socket,使用nio的非阻塞方式 處理read 把read 事件ready的sock...

Tomcat 後台執行

在 window 系統下直接執行tomcat bin目錄下的startup.bat檔案就可以直接啟動程式,同時也會彈出乙個命令列視窗,列印程式執行時的日誌,且需要一直處於開啟狀態,不能關閉,所以最好將 tomcat 設定成後台執行。tomcat支援將啟動開關註冊成服務,具體做法 開啟命令列視窗,進入...