Servlet的基本認識

    Servlet是Web學習的一個基礎,而且是一個比較重要的知識點,因爲後期框架的封裝也是在這個基礎上進行封裝,下邊對其基本應用做些說明。


    1、簡介

    Servlet簡單的理解就是一個JAVA類,但是其工作特點有點特殊,它是工作在服務器端的,也是一個小的服務程序,在Web中,當一個請求過來時,Servlet可以對其進行相應的處理。


    2、生命週期

    下圖是在API中Servlet的相關方法說明。


    其中init()、service()、destory()爲Servlet有關生命週期的方法;init()爲Servlet的初始化方法,destroy()方法爲Servlet的銷燬方法,service()方法爲Servlet的核心服務方法。


    初始化:一般Servlet是在客戶端向服務器請求第一次調用該Servlet時會進行初始化操作,爲了提高效率也可以在web.xml文件的<servlet>標籤中配置<load-on-startup>標籤讓Servlet在服務器啓動時進行初始化操作,例如服務器中的DefaultServlet。


    銷燬:在web應用程序從服務器移除,或服務器停止都會將服務器中的Servlet銷燬,這時候就會執行destory方法。


    服務:在servlet創建之後就駐留與內存,每次客戶端對該Servlet的請求都會調用service方法,爲這次請求服務。


    3、DefaultServlet

    上邊說明過了,服務器端的DefaultServlet會在服務器啓動時第一個創建出來,這個Servlet在服務器端起着舉足輕重的功能。在此需要說明的是我們的每一個客戶端請求都會請求到一個Servlet上,如果我們訪問的是一個靜態的網頁資源,在服務器端找不到我們請求的Servlet,這是會由DefaultServlet處理,經過判斷,如果爲靜態頁面資源,DefaultSerrvlet就會將頁面資源處理,並有response對象將數據返回給客戶端。

所以我們不要輕易配置一個默認的Servlet,如果我們的默認Servlet將服務器的覆蓋後,我們請求的靜態頁面資源將無法訪問。


    4、家族成員——ServletConfig

    在配置Servlet的過程中我們可以通過<init-param>標籤爲Servlet配置初始化參數,這些初始化參數會在Servlet創建的過程中封裝到ServletConfig對象中,我們可以通過該特性,將在Servlet中用到的信息,但是又容易發生變化的信息配置起來,在Servlet中通過ServletConfig對象獲取出來。


    5、家族對象——ServletContext

    在服務器啓動時會爲每一個Web應用程序創建一個ServletContext對象,它代表整個WEB應用,通過該對象可以獲取該WEB應用的相應信息,例如獲取文件資源和相關路徑,以及Servlet的相關信息等。


    對其總結就先到這兒吧,之前學習過,但是理解上還是存在很多問題,學習一個東西,多學習幾遍,見的場景多些會好很多,免不了還會在對其進行學習和深入認識。
發佈了90 篇原創文章 · 獲贊 57 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章