Servlet的生命周期一般可以用三個方法來表示: init():僅執行一次,負責在裝載Servlet時初始化Servlet對象 service() :核心方法,一般HttpServlet中會有get,post兩種處理方式。在調用doGet和doPost方法時會構造servletRequest和servletResponse請求和響應對象作為參數。 destory():在停止并且卸載Servlet時執行,負責釋放資源 初始化階段:Servlet啟動,會讀取配置文件中的信息,構造指定的Servlet對象,創建ServletConfig對象,將ServletConfig作為參數來調用init()方法。
Servlet生命周期: 一、初始化階段; 調用init()方法 二、響應客戶請求階段;調用service()方法 三、終止階段;調用destroy()方法
init():在Servlet的生命周期中,僅執行一次init()方法。它是在服務器裝入Servlet時執行的,負責初始化Servlet對象。可以配置服務器,以在啟動服務器或客戶機首次訪問Servlet時裝入Servlet。無論有多少客戶機訪問Servlet,都不會重復執行init()。service():它是Servlet的核心,負責響應客戶的請求。每當一個客戶請求一個HttpServlet對象,該對象的Service()方法就要調用,而且傳遞給這個方法一個“請求”(ServletRequest)對象和一個“響應”(ServletResponse)對象作為參數。在HttpServlet中已存在Service()方法。默認的服務功能是調用與HTTP請求的方法相應的do功能。destroy(): 僅執行一次,在服務器端停止且卸載Servlet時執行該方法。當Servlet對象退出生命周期時,負責釋放占用的資源。一個Servlet在運行service()方法時可能會產生其他的線程,因此需要確認在調用destroy()方法時,這些線程已經終止或完成。Servlet的生命周期可以分為初始化階段,運行階段和銷毀階段三個階段,以下過程屬于初始化階段是 1. 加載Servlet類及.class對應的數據 2. 創建ServletConfig對象 3. 創建Servlet對象
每一次請求來到容器時,會產生HttpServletRequest與HttpServlceResponse對象,并在調用service()方法時當做參數傳入。 在WEB容器啟動后,會讀取Servlet設置信息,將Servlet類加載并實例化,并為每個Servlet設置信息產生一個ServletConfig對象,而后調用Servlet接口的init()方法,并將產生的ServletConfig對象當作參數傳入。
新聞熱點
疑難解答