多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > J2EE的13 規范之解讀Servlet

J2EE的13 規范之解讀Servlet

來源:程序員人生   發布時間:2015-01-27 13:47:01 閱讀次數:4033次

 

  Servlet 是甚么?

 

  第1,Servlet是1種規范,由Sun公司制定的服務器端組件規范。

  第2,Servlet 可以運行在web服務器或利用服務器上。

  第3,Servlet由Servlet容器進行管理,可實現諸如“實例化并管理Servlet對象”、“調用Servlet生命周期方

法”、“解析及封裝特定協議的要求和響應”等工作。

  第4,作為來自 Web 閱讀器的要求和 數據庫或利用程序之間的中間層,Servlet可以搜集來自網頁的用戶請

求,顯現來自數據庫或其他源的記錄,可實現動態創建網頁。

 

  

 

    Servlet 架構圖

 

  下圖顯示了 Servlet 在 Web 利用程序中的位置。

                          

  Servlet生命周期

 

  Servlet 生命周期可定義為其從創建直到燒毀的全部進程。當用戶調用1個 Servlet 時,就會創建1個 Servlet

實例,每個用戶要求都會產生1個新的線程。

  以上是 Servlet 生命周期遵守的進程。

  •  通過調用init ()方法進行初始化。
  •  調用service()方法來處理客戶真個要求。
  •  通過調用destroy()方法終止(結束)。
  •  最后,Servlet 是由 JVM 的垃圾回收器進行垃圾回收的。

  現在讓我們詳細討論生命周期的方法。

 

  Servlet 方法解讀

 

  init() 方法

  init 方法被設計成只調用1次。它在第1次創建 Servlet 時被調用,在后續每次用戶要求時不再調用。因此,它

是用于1次性初始化,init() 方法簡單地創建或加載1些數據,這些數據將被用于 Servlet 的全部生命周期。

  init 方法的定義以下:

  

<span style="font-family:SimSun;">public void init() throws ServletException {   // 初始化代碼…   } </span>

      

    service() 方法

  service() 方法是履行實際任務的主要方法。Servlet 容器調用 service() 方法來處理來自客戶端(閱讀

器)的要求,并把格式化的響應寫回給客戶端。

  每次服務器接收到1個 Servlet 要求時,服務器會產生1個新的線程并調用服務。service() 方法檢查 HTTP

要求類型(GET、POST、PUT、DELETE 等),并在適當的時候調用 doGet、doPost、doPut,doDelete 等方法。

  方法定義:

<span style="font-family:SimSun;"><span style="font-size:18px;">public void service(ServletRequest request,ServletResponse response) throws ServletException, IOException{ } </span></span>

  service() 方法由容器調用,service 方法在適當的時候調用 doGet、doPost、doPut、doDelete 等方法。

所以,我們不用對 service() 方法做任何動作,您只需要根據來自客戶真個要求類型來重載 doGet() 或

doPost() 便可。

 

  

  doGet() 方法

  GET 要求來自于1個 URL 的正常要求,或1個未指定提交方式 的 HTML 表單,它由 doGet() 方法處理。

  

<span style="font-family:SimSun;"><span style="font-size:18px;">public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // Servlet 代碼 } </span></span>


 

  doPost() 方法

  POST 要求來自于1個特別指定了提交方式為 POST 的 HTML 表單,它由 doPost() 方法處理。

  

<span style="font-family:SimSun;">public void doPost(HttpServletRequest request,HttpServletResponse response)   throws ServletException, IOException {   // Servlet 代碼   } </span>

    

    destroy() 方法

  destroy() 方法只會被調用1次,在 Servlet 生命周期結束時被調用。destroy() 方法可使 Servlet

關閉數據庫連接、停止后臺線程、把 Cookie 列表或點擊計數器寫入到磁盤,并履行其他類似的清算活動。

  在調用 destroy() 方法以后,servlet 對象被標記為垃圾回收。destroy 方法定義以下所示:

  

<span style="font-family:SimSun;">public void destroy() {   // 終止化代碼…   } </span>

  

 

 

 

    初次接觸Servlet,可以把它理解為 .NET 中的Handler,由于他們有著類似的作用:都可用來處理客戶端發送的請

求,讓前臺與業務邏輯松耦合,并且實現動態網頁的創建。

  由于認知的不足,只能說先這么理解。具體是否是這樣還需要實際利用深入了解后才能做出判斷。  現在學習新

知識的時候很希望從本來學過的知識中找到1些對應的影子,雖然不是那末對應,也有可能這么理解是毛病的,但是

隨著不斷的深入學習,我們也會自但是然的校訂這些偏差,留下更深入的印象。

 

 

  僅供參考,希望不要誤導大家。

 

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品爱久久久久久久9999 | 欧美自拍在线 | 校园春色 中文字幕 | 久一视频在线观看 | 在线成人小视频 | 美国免费毛片 | 自拍偷拍网站 | 亚洲精品播放 | 亚洲高清在线看 | 91日韩在线| 亚洲免费视频网站 | 牛牛精品国内免费一区 | 国产噜噜噜视频在线观看 | 亚洲精品天堂在线 | 精品成人免费自拍视频 | 国产一精品一aⅴ一免费 | 欧美综合国产精品日韩一 | 性色影院| 波多野结衣中文字幕在线播放 | 午夜欧美视频 | 欧美一级做性受 | 在线精品国产第一页 | 亚洲免费成人网 | 91第一页| 亚洲第一视频 | 殴美xxx| 黑人和黑人激情一级毛片 | 亚洲图片欧美视频 | 欧美精品久久久久久久久大尺度 | 亚洲自拍偷拍小说 | 香蕉狠狠再啪线视频 | xxxx性xxxx| 亚洲精品网站在线观看不卡无广告 | 欧美a在线看 | 国产99视频精品免视看7 | 日本成年一区久久综合 | 成人国产一区二区三区 | 在线播放精品 | 国产或人精品日本亚洲77美色 | 亚洲欧美日韩中文字幕一区二区三区 | 秋霞一级特黄真人毛片 |