Tomcat架构与原理
Tomcat架構與原理
架構圖
原理
①、用戶點擊網頁內容,請求被發送到本機端口8080,被在那里監聽的Coyote HTTP/1.1 Connector獲得。
②、Connector把該請求交給它所在的Service的Engine來處理,并等待Engine的回應。
③、Engine獲得請求localhost/test/index.jsp,匹配所有的虛擬主機Host。
④、Engine匹配到名為localhost的Host(即使匹配不到也把請求交給該Host處理,因為該Host被定義為該Engine的默認主機),名為localhost的Host獲得請求/test/index.jsp,匹配它所擁有的所有的Context。Host匹配到路徑為/test的Context(如果匹配不到就把該請求交給路徑名為“ ”的Context去處理)。
⑤、path=“/test”的Context獲得請求/index.jsp,在它的mapping table中尋找出對應的Servlet。Context匹配到URL PATTERN為*.jsp的Servlet,對應于JspServlet類。
⑥、構造HttpServletRequest對象和HttpServletResponse對象,作為參數調用JspServlet的doGet()或doPost().執行業務邏輯、數據存儲等程序。
⑦、Context把執行完之后的HttpServletResponse對象返回給Host。
⑧、Host把HttpServletResponse對象返回給Engine。
⑨、Engine把HttpServletResponse對象返回Connector。
⑩、Connector把HttpServletResponse對象返回給客戶Browser。
我們將 Tomcat 中 Connector、Container 作為一個整體比作一對情侶的話,Connector 主要負責對外交流,可以比作為 Boy,Container 主要處理 Connector 接受的請求,主要是處理內部事務,可以比作為 Girl。那么這個 Service 就是連接這對男女的結婚證了。是 Service 將它們連接在一起,共同組成一個家庭。當然要組成一個家庭還要很多其它的元素。
說白了,Service 只是在 Connector 和 Container 外面多包一層,把它們組裝在一起,向外面提供服務,一個 Service 可以設置多個 Connector,但是只能有一個 Container 容器。
轉載于:https://www.cnblogs.com/Smbands/p/11468600.html
總結
以上是生活随笔為你收集整理的Tomcat架构与原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: koa2 mysql项目教程_blogs
- 下一篇: Flash cs4序列号