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