----------------------------------------------2017.06.10---------------------------------------------------------------
Servlet簡介
Servlet是Java Web的技術(shù)核心之一,而且也是另一技術(shù)核心Java Server Pages(JPS)的支撐基礎(chǔ)。文章的主要部分將介紹Servlet的使用以及原理,還有Servlet的載體,這里選用Tomcat。
一個Servlet是一個Java 類,經(jīng)由Servlet容器創(chuàng)建、調(diào)用、銷毀,也就是說Servlet容器管理著Servlet的生命周期。它在服務(wù)器工作期間將駐留在內(nèi)存中,響應(yīng)客戶端發(fā)來的對應(yīng)請求。下面是一個Servlet應(yīng)用的基礎(chǔ)架構(gòu),其中屏蔽了很多細節(jié),我們將漸漸深入解析。
①瀏覽器接受到用戶輸入指令,轉(zhuǎn)而生成Http響應(yīng)指令發(fā)送至Servlet容器;
②Servlet容器是一種特殊的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);
?、轂g覽器接收Http響應(yīng)并根據(jù)結(jié)果請求更多內(nèi)容和渲染畫面,一次交互結(jié)束。
Tomcat容器
Tomcat容器是一種大家比較熟悉的Servlet容器,解析Servlet容器的工作方式有利于大家理解Servlet。
Tomcat容器采用眾多容器來管理,而底層是Servlet容器,Servlet容器又管理著Context容器,Context容器管理著的是Wrapper類。
Wrapper類是Servlet的包裝類,也就是說真正管理Servlet的是Context容器,一個Context容器表示一個application,一個Context容器管理著很多Wrapper類(Servlet)。為了驗證這一點,我們看以下Tomcat的一個啟動類org.apache.catalina.startup.Tomcat源碼:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
