1. 程式人生 > >Tomcat伺服器處理一個http請求的過程

Tomcat伺服器處理一個http請求的過程

Tomcat容器就是一個Servlet,理解Servlet的執行過程。
這裡寫圖片描述

(1)請求被髮送到本機埠8080,被在那裡監聽的Coyoto Http/1.1 Connector獲得。
(2)Connector把該請求交給它所在的Service的Engine來處理並等待來自
Engine的迴應。
(3)Engine獲得請求http://localhost:8080/test/index.jsp,匹配它所擁有的所有虛擬主機Host。
(4)Engine匹配到名為localHost的Host(即使匹配不到也會把 請求交給該Host處理,應為該Host被定義為該Engine的默 認主機)
(5)localhost Host獲得請求

http://localhost:8080/test/index.jsp,匹配它所擁有的所有Context
(6)Host匹配到路徑為/test的Context(如果匹配不到就把請求交給路徑名為”“的Context去處理)
(7)path=”test”的Context獲得請求/index.jsp,在它的mapping table中尋找對應的servlet
(8)Context匹配到URL 為*.jsp的Servlet,對應於JspServlet類。
(9)構造HttpServletRequest物件和HttpServletReponse物件,作為引數呼叫JspServlet的doGet或doPost方法。
(10)Context把執行完了之後的HttpServletResponse物件返回給Host
(11)Host把HttpServletResponse物件返回給Engine
(12)Engine把HttpServletResponse物件返回給Connector
(13)Connector把HttpServletResponse物件返回給客戶browser。