標籤:ice html local 調用 tomcat http ext 邏輯 png
Tomcat Server處理一個HTTP請求的過程
1、使用者點擊網頁內容,請求被發送到本機連接埠8080,被在那裡監聽的Coyote HTTP/1.1 Connector獲得。
2、Connector把該請求交給它所在的Service的Engine來處理,並等待Engine的回應。
3、Engine獲得請求localhost/test/index.jsp,匹配所有的虛擬機器主機Host。
4、Engine匹配到名為localhost的Host(即使匹配不到也把請求交給該Host處理,因為該Host被定義為該Engine的預設主控件),名為localhost的Host獲得請求/test/index.jsp,匹配它所擁有的所有的Context。Host匹配到路徑為/test的Context(如果匹配不到就把該請求交給路徑名為“ ”的Context去處理)。
5、path=“/test”的Context獲得請求/index.jsp,在它的mapping table中尋找出對應的Servlet。Context匹配到URL PATTERN為*.jsp的Servlet,對應於JspServlet類。
6、構造HttpServletRequest對象和HttpServletResponse對象,作為參數調用JspServlet的doGet()或doPost().執行商務邏輯、資料存放區等程式。
7、Context把執行完之後的HttpServletResponse對象返回給Host。
8、Host把HttpServletResponse對象返回給Engine。
9、Engine把HttpServletResponse對象返回Connector。
10、Connector把HttpServletResponse對象返回給客戶Browser。
<Server> //頂層類元素,可以包括多個Service <Service> //頂層類元素,可包含一個Engine,多個Connecter <Connector> //連接器類元素,代表通訊介面 <Engine> //容器類元素,為特定的Service組件處理客戶請求,要包含多個Host <Host> //容器類元素,為特定的虛擬機器主機組件處理客戶請求,可包含多個Context <Context> //容器類元素,為特定的Web應用處理所有的客戶請求 </Context> </Host> </Engine> </Connector> </Service></Server>
原部落格地址:http://www.cnblogs.com/zhouyuqin/p/5143121.html
Tomcat Server處理一個HTTP請求的過程(轉)