国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

詳解Servlet實例

開發 后端
本文詳細介紹Servlet實例,以及介紹加載和實例化、初始化、處理請求和服務結束。

Servlet有良好的生存期的定義,包括如何加載、實例化、初始化、處理客戶端請求以及如何被移除。這個生存期由javax.Servlet.Servlet接口的init,service和destroy方法表達。

1、加載和實例化

容器負責加載和實例化一個Servlet。實例化和加載可以發生在引擎啟動的時候,也可以推遲到容器需要該Servlet為客戶請求服務的時候。
首先容器必須先定位Servlet類,在必要的情況下,容器使用通常的Java類加載工具加載該Servlet,可能是從本機文件系統,也可以是從遠程文件系統甚至其它的網絡服務。容器加載Servlet類以后,它會實例化該類的一個實例。需要注意的是可能會實例化多個實例,例如一個Servlet類因為有不同的初始參數而有多個定義,或者Servlet實現SingleThreadModel而導致容器為之生成一個實例池。

2、初始化

Servlet加載并實例化后,容器必須在它能夠處理客戶端請求前初始化它。初始化的過程主要是讀取永久的配置信息,昂貴資源(例如JDBC連接)以及其它僅僅需要執行一次的任務。通過調用它的init方法并給它傳遞唯一的一個(每個Servlet定義一個)ServletConfig對象完成這個過程。給它傳遞的這個配置對象允許Servlet訪問容器的配置信息中的名稱-值對(name-value)初始化參數。這個配置對象同時給Servlet提供了訪問實現了ServletContext接口的具體對象的方法,該對象描述了Servlet的運行環境。

2.1初始化的錯誤處理
在初始化期間,Servlet實例可能通過拋出UnavailableException 或者 ServletException異常表明它不能進行有效服務。如果一個Servlet拋出一個這樣的異常,它將不會被置入有效服務并且應該被容器立即釋放。在此情況下destroy方法不會被調用因為初始化沒有成功完成。在失敗的實例被釋放后,容器可能在任何時候實例化一個新的實例,對這個規則的唯一例外是如果失敗的Servlet拋出的異常是UnavailableException并且該異常指出了最小的無效時間,那么容器就會至少等待該時間指明的時限才會重新試圖創建一個新的實例。

2.2、工具因素
當工具(注:根據筆者的理解,這個工具可能是應用服務器的某些檢查工具,通常是驗證應用的合法性和完整性)加載和內省(introspect)一個web應用時,它可能加載和內省該應用中的類,這個行為將觸發那些類的靜態初始方法被執行,因此,開發者不能假定只要當Servlet的init方法被調用后它才處于活動容器運行狀態(active container runtime)。作為一個例子,這意味著Servlet不能在它的靜態(類)初始化方法被調用時試圖建立數據庫連接或者連接EJB容器。

3、處理請求

在Servlet被適當地初始化后,容器就可以使用它去處理請求了。每一個請求由ServletRequest類型的對象代表,而Servlet使用ServletResponse回應該請求。這些對象被作為service方法的參數傳遞給Servlet。在HTTP請求的情況下,容器必須提供代表請求和回應的HttpServletRequest和HttpServletResponse的具體實現。需要注意的是容器可能會創建一個Servlet實例并將之放入等待服務的狀態,但是這個實例在它的生存期中可能根本沒有處理過任何請求。

3.1、多線程問題
容器可能同時將多個客戶端的請求發送給一個實例的service方法,這也就意味著開發者必須確保編寫的Servlet可以處理并發問題。如果開發者想防止這種缺省的行為,那么他可以讓他編寫的Servlet實現SingleThreadModel。實現這個類可以保證一次只會有一個線程在執行service方法并且一次性執行完。容器可以通過將請求排隊或者維護一個Servlet實例池滿足這一點。如果Servlet是分布式應用的一部分,那么,那么容器可能在該應用分布的每個JVM中都維護一個實例池。如果開發者使用synchronized關鍵字定義service 方法(或者是doGet和doPost),容器將排隊處理請求,這是由底層的java運行時系統要求的。我們強烈推薦開發者不要同步service方法或者HTTPServlet的諸如doGet和doPost這樣的服務方法。

3.2、處理請求中的異常
Servlet在對請求進行服務的時候有可能拋出ServletException或者UnavailableException異常。ServletException表明在處理請求的過程中發生了錯誤容器應該使用合適的方法清除該請求。UnavailableException表明Servlet不能對請求進行處理,可能是暫時的,也可能是永久的。如果UnavailableException指明是永久性的,那么容器必須將Servlet從服務中移除,調用它的destroy方法并釋放它的實例。如果指明是暫時的,那么容器可以選擇在異常信息里面指明的這個暫時無法服務的時間段里面不向它發送任何請求。在這個時間段里面被被拒絕的請求必須使用SERVICE_UNAVAILABLE (503)返回狀態進行響應并且應該攜帶稍后重試(Retry-After)的響應頭表明不能服務只是暫時的。容器也可以選擇不對暫時性和永久性的不可用進行區分而全部當作永久性的并移除拋出異常的Servlet。

3.3線程安全
開發者應該注意容器實現的請求和響應對象(注:即容器實現的HttpServletRequest和HttpServletResponese)沒有被保證是線程安全的,這就意味著他們只能在請求處理線程的范圍內被使用,這些對象不能被其它執行線程所引用,因為引用的行為是不確定的。

4、服務結束

容器沒有被要求將一個加載的Servlet保存多長時間,因此一個Servlet實例可能只在容器中存活了幾毫秒,當然也可能是其它更長的任意時間(但是肯定會短于容器的生存期)當容器決定將之移除時(原因可能是保存內存資源或者自己被關閉),那么它必須允許Servlet釋放它正在使用的任何資源并保存任何永久狀態(這個過程通過調用destroy方法達到)。容器在能夠調用destroy方法前,它必須允許那些正在service方法中執行的線程執行完或者在服務器定義的一段時間內執行(這個時間段在容器調用destroy之前)。一旦destroy方法被調用,容器就不會再向該實例發送任何請求。如果容器需要再使用該Servlet,它必須創建新的實例。destroy方法完成后,容器必須釋放Servlet實例以便它能夠被垃圾回收。

【編輯推薦】

  1. 介紹Servlet 2.4版功能
  2. 多種Servlet接口介紹
  3. 接口介紹-Servlet Context
  4. Servlet的注冊方法
  5. 介紹Servlet容器
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-07-07 09:51:49

Servlet實例

2009-07-08 15:01:00

Servlet Ses

2009-07-07 15:01:58

Apache Serv

2009-07-10 11:07:00

WebWork注入Servlet方法

2009-07-06 15:03:53

JSP向Servlet

2009-07-06 10:41:38

flex與servle

2009-07-06 16:59:16

Servlet方法

2009-07-08 15:10:00

Servlet會話管理

2009-07-06 09:49:26

Servlet JSP

2009-07-07 17:23:08

Java Servle

2009-07-08 16:07:04

Servlet過濾器配

2021-05-08 07:57:17

ServletFilter設計模式

2009-06-30 10:33:00

JSP JavaBeaServlet

2009-07-06 18:24:56

Servlet實例

2009-06-11 08:59:35

2014-07-25 15:03:33

Linuxshellsed

2009-07-02 15:02:44

JSP Servlet自動跳轉

2010-04-30 09:19:05

Servlet 3.0

2022-12-02 09:02:36

Swift代碼異步

2011-03-09 09:11:52

java反射機制
點贊
收藏

51CTO技術棧公眾號

亚洲爆乳无码专区| 欧美一级黄色影院| 综合亚洲色图| 亚洲精品动漫100p| 麻豆av在线导航| 一区精品在线播放| 男人日女人下面视频| 麻豆freexxxx性91精品| 精品无码久久久久国产| 日本久久一二三四| 欧美一级黄色网| 国产日韩三级| 欧美交受高潮1| 亚洲人成777| 最近2019中文字幕mv免费看| 伊人成综合网站| 亚洲高清免费观看高清完整版| 国产小视频在线观看| 色婷婷激情久久| 国产精品一区二区三区四区色| 婷婷六月综合亚洲| 国产免费a∨片在线观看不卡| 欧美中文字幕一区| 午夜在线视频| 日韩欧美一级片| 亚洲无线看天堂av| 9191精品国产综合久久久久久 | 亚洲少妇在线| 欧美激情专区| 久久99久久99| 精品国产av无码一区二区三区| 国产v综合v亚洲欧| 日本三级免费观看| 综合网在线视频| 青青九九免费视频在线| 欧美猛男超大videosgay| 日皮视频在线观看| 国产一区二区三区在线免费观看 | 亚洲国内精品在线| 日韩午夜电影免费看| 2020欧美日韩在线视频| 999成人网| 茄子视频成人在线观看| 国产主播一区二区| 91最新在线观看| 欧美性猛交xxxx免费看漫画 | 亚洲国产成人不卡| 欧美videossex| 亚洲精品一区二区三区香蕉| 亚洲成熟丰满熟妇高潮xxxxx| 欧美日韩国产免费观看视频| 在线欧美日韩精品| 麻豆成人小视频| 波多野结衣精品| 日韩欧美国产综合在线一区二区三区| 深夜福利日韩在线看| 国产成人精品一区二区三区视频 | 香蕉久久精品日日躁夜夜躁| 91小视频在线观看| 欧美中文字幕精品| av一级久久| 欧美丝袜自拍制服另类| 日韩欧美一区二区三区免费观看| 亚洲精品在线免费播放| 麻豆精品久久| yy111111少妇影院日韩夜片| 国产91精品久久久久久久网曝门| 亚色视频在线播放| 国产丝袜精品第一页| 欧美人妖在线| 中文字幕制服丝袜在线| 亚洲视频图片小说| 污视频在线看网站| 日本亚洲欧美三级| 久热成人在线视频| julia中文字幕久久亚洲蜜臀| 日韩av在线导航| 国产欧美高清视频在线| 中文字幕中文字幕99 | 永久久久久久| 亚洲国产精品一区二区www| 英国三级经典在线观看| 3d蒂法精品啪啪一区二区免费| 99精品国产一区二区三区不卡| 日本视频不卡| 2021久久精品国产99国产精品| 国内外成人在线| 国产福利电影在线| 8050国产精品久久久久久| 国产乱码精品一区二区三区五月婷| 三级黄视频在线观看| 欧美大片免费观看| 激情综合网av| av免费在线免费| 亚洲va码欧洲m码| 亚洲欧美日韩系列| 成人污版视频| 欧美三级午夜理伦三级老人| 欧美日韩一区二区三区在线看 | 97国产精品人人爽人人做| 久久国产精品99久久人人澡| 男人天堂资源在线| 日本一欧美一欧美一亚洲视频| 国产精品一区在线观看乱码| 激情成人四房播| 91精品视频播放| 亚洲女人****多毛耸耸8| 羞羞视频在线观看一区二区| 日韩成人av电影在线| 在线观看中文字幕不卡| 成人a'v在线播放| 猫咪成人官网| 高清欧美电影在线| 久久综合给合久久狠狠狠97色69| 日本成人三级电影| 麻豆md0077饥渴少妇| 亚洲成人久久久| 日韩中文字幕不卡| 综合久久2o19| 欧美污视频久久久| 日韩一区二区三区观看| 99精品国产福利在线观看免费| 国家队第一季免费高清在线观看| 国产精品亚洲网站| 一区二区国产盗摄色噜噜| 最新国产精品精品视频| 女人扒开屁股爽桶30分钟| 中文字幕精品久久| 北条麻妃一区二区三区| 香蕉久久一区| 免费无码国产v片在线观看| 永久免费精品影视网站| 国产成人综合在线播放| 亚洲成av在线| 国产精品老女人视频| 欧美性一二三区| 欧美xxxxx视频| av日韩免费电影| 春日野结衣av| 国产成人综合自拍| 夜鲁夜鲁夜鲁视频在线播放| 亚洲精品二区| 亚洲人成电影网站色| 国产福利精品一区二区| 亚洲网站免费| free亚洲| 国产日韩欧美一二三区| 一区二区三区在线免费视频| 青青草国产成人av片免费| 青青草手机在线| 精品国产91乱码一区二区三区 | 国产精品美女主播| 91网站黄www| 高端美女服务在线视频播放| 久久亚洲精品一区| jyzzz在线观看视频| 国产精品一国产精品最新章节| 欧美日韩成人综合在线一区二区| 国产精品日本欧美一区二区三区| av片在线观看| 中文精品一区二区三区| 一本色道久久88综合亚洲精品ⅰ| 久久精品一区二区三区四区| 网友自拍区视频精品| 欧美高潮视频| 欧美精品一区二区视频| 国产亚洲欧美日韩美女| 国产精品久久久久久久久免费丝袜| 国产精品二区不卡| 欧美黑人猛交| 亚洲一级免费观看| 国产精品专区一| 精品国产1区二区| 国产视频一区不卡| 午夜精品久久99蜜桃的功能介绍| 天天综合av| 成年人免费看的视频| 免费成人深夜夜行视频| 在线色欧美三级视频| 一区二区日韩电影| 亚洲制服av| 菁菁伊人国产精品| 看黄网站在线| 成人黄色免费电影| 欧美一区二区三区四区在线观看地址| 中文字幕亚洲专区| 欧美日韩另类在线| www.欧美精品一二区| 一区二区三区四区在线观看国产日韩| 欧美日韩电影免费看| 亚洲热app| 国产精品第12页| 欧美亚州在线观看| 久久久久久久久国产精品| 在线播放亚洲一区| 自拍视频在线观看一区二区| 日本伊人色综合网| 凹凸成人精品亚洲精品密奴| 成人黄色视屏网站| 国产乱理伦片a级在线观看|