歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Servlet生命周期+工作原理

Servlet生命周期+工作原理

日期:2017/3/1 9:20:06   编辑:Linux編程

1、Servlet的生命周期:

Servlet加載,加載,服務,銷毀。

2、典型函數解釋:

Init():這個函數是用來初始化Servlet對象的。在Servlet的生命周期中,僅僅執行一次Servlet函數。

Destroy():這個函數是用來銷毀Servlet對象的,同樣的,在Servlet的生命周期中,僅僅執行一次Servlet函數。

Service():這個函數是Servlet對象響應客戶請求時候使用的。是Servlet的核心函數。有兩個參數:HTTPRequest,HTTPResponse。HTTPServlet中已經有了Service方法,默認的服務功能是調用和請求方法一致的do功能。

3、tomcat和Servlet是怎麼工作的:

  1. Web client向Servlet容器(tomcat)發出請求
  2. Tomcat接收請求
  3. Servlet容器中創建一個HTTPRequest對象,將Web client請求信息放進來。
  4. Servlet容器中創建一個HTTPResponse對象。
  5. Servlet容器調用HTTPServlet對象的Service方法,將HTTPRequest和HTTPResponse放入Service函數中去。
  6. HTTPServlet調用相關方法獲取HTTPRequest中的請求信息。
  7. HTTPServlet調用相關方法去生成HTTPResponse。
  8. Servlet將相應結果返回給Web client。

4、Servlet的工作原理:

客戶發送一個請求,然後Servlet容器會創建基於這個請求的ServletRequest和ServletResponse, 然後調用Servlet的Service方法,獲得請求信息,處理信息,返回響應信息。

其中Service方法中選擇與請求方法對應的do功能,例如doGet,doPost方法。在Servlet和GenericServlet中是沒有這些方法的,需要自己去定義。雖然HTTPServlet中有這些方法,但是返回Error信息,需要我們自己去重載。

Servlet和GenericServlet是不基於任何協議的,而HTTPServlet是基於HTTP協議的。

Copyright © Linux教程網 All Rights Reserved