----------------------------------------------2017.06.10---------------------------------------------------------------
Servlet簡介
Servlet是Java Web的技術(shù)核心之一,而且也是另一技術(shù)核心Java Server Pages(JPS)的支撐基礎(chǔ)。文章的主要部分將介紹Servlet的使用以及原理,還有Servlet的載體,這里選用Tomcat。
一個(gè)Servlet是一個(gè)Java 類,經(jīng)由Servlet容器創(chuàng)建、調(diào)用、銷毀,也就是說Servlet容器管理著Servlet的生命周期。它在服務(wù)器工作期間將駐留在內(nèi)存中,響應(yīng)客戶端發(fā)來的對應(yīng)請求。下面是一個(gè)Servlet應(yīng)用的基礎(chǔ)架構(gòu),其中屏蔽了很多細(xì)節(jié),我們將漸漸深入解析。
?、贋g覽器接受到用戶輸入指令,轉(zhuǎn)而生成Http響應(yīng)指令發(fā)送至Servlet容器;
?、赟ervlet容器是一種特殊的Http服務(wù)器,將分析Http請求是否是靜態(tài)數(shù)據(jù),如果是則直接發(fā)送靜態(tài)數(shù)據(jù);
?、廴绻麑?yīng)的是某一Servlet的第一次調(diào)用,則交給Servlet容器創(chuàng)建Servlet,并將Request和Response交由Servlet處理;
?、芴幚硗杲Y(jié)果Response返回至Servlet容器,Servlet容器包裝Response之后返回Http響應(yīng);
⑤瀏覽器接收Http響應(yīng)并根據(jù)結(jié)果請求更多內(nèi)容和渲染畫面,一次交互結(jié)束。
Tomcat容器
Tomcat容器是一種大家比較熟悉的Servlet容器,解析Servlet容器的工作方式有利于大家理解Servlet。
Tomcat容器采用眾多容器來管理,而底層是Servlet容器,Servlet容器又管理著Context容器,Context容器管理著的是Wrapper類。
Wrapper類是Servlet的包裝類,也就是說真正管理Servlet的是Context容器,一個(gè)Context容器表示一個(gè)application,一個(gè)Context容器管理著很多Wrapper類(Servlet)。為了驗(yàn)證這一點(diǎn),我們看以下Tomcat的一個(gè)啟動(dòng)類org.apache.catalina.startup.Tomcat源碼:
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式