天天看點

Servlet 基礎知識    簡介     主要功能    Servlet生命周期    注意事項    注冊與運作    小結

    簡介 

    Servlet是用Java編寫的伺服器端程式。其主要功能在于互動式地浏覽和修改資料,生成動态Web内容。狹義的Servlet是指Java語言實作的一個接口,廣義的Servlet是指任何實作了這個Servlet接口的類,一般情況下,人們将Servlet了解為後者。

    Servlet運作于支援Java的應用伺服器中。從原理上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet隻用來擴充基于HTTP協定的Web伺服器。

    主要功能

    Servlet 的主要功能在于互動式地浏覽和修改資料,生成動态 Web 内容。這個過程為:

     1) 用戶端發送請求至伺服器端;

     2) 伺服器将請求資訊發送至 Servlet;

     3) Servlet 生成響應内容并将其傳給伺服器。響應内容動态生成,通常取決于用戶端的請求;

     4) 伺服器将響應傳回給用戶端。

    Servlet生命周期

    生命全過程:

     1) 加載Servlet并執行個體化new

     2) 初始化init

     3) 處理請求service doGet doPost

     4) 退出服務destroy()

    注意事項

    1) servlet隻執行個體化一次

     針對用戶端的多次Servlet請求,通常情況下,伺服器隻會建立一個Servlet執行個體對象,即Servlet執行個體對象一旦建立,它就會駐留在記憶體中,為後續的其他請求服務,直至web容器退出,servlet執行個體對象才會銷毀。

    2) init方法隻執行一次

     在Servlet的整個生命周期内,Servlet的init方法隻會被調用一次。而對一個Servlet的每次通路請求都導緻Servlet引擎調用一次servlet的service方法。

    3) Servlet不是線程安全的

    注冊與運作

    1) Servlet程式必須通過Servlet引擎來啟動運作,并且儲存目錄有特殊要求,通常需要存儲在<WEB應用程式目錄>\WEB-INF\classes\目錄中。如果這個Servlet程式有包名,那麼在這個目錄下面還要有包名對應的目錄結構。

    2) Servlet程式必須在WEB應用程式的web檔案中進行注冊和映射其通路路徑,才可以被Servlet引擎加載和被外界通路。

    3) 一個<servlet>元素用于注冊一個Servlet,它包含有兩個主要的子元素:<servlet-name>和<servlet-class>,分别用于設定Servlet的注冊名稱和Servlet的完整類名(包括包名)。

    4) 一個<servlet-mapping>元素用于映射一個已注冊的Servlet的一個對外通路路徑,它包含有兩個子元素:<servlet-name>和<url-pattern>,分别用于指定Servlet的注冊名稱和Servlet的對外通路路徑。

    5) 同一個Servlet可以被映射到多個URL上,即多個<servlet-mapping>元素的<servlet-name>子元素的設定值可以是同一個Servlet的注冊名。

    小結

    網上商城中對servlet有所接觸,但當時并沒有太多講解。繼而到DRP中繼續對Servlet的學習,有了更深一步的研究,但仍是沒有運用到實際應用中,還是有太多欠缺。以上小結隻是停留在理論知識上,還缺少代碼實踐。接下來就是繼續其在代碼中的應用,實踐研究!

繼續閱讀