servlet是位於J2EE展示層的應用伺服器。
servlet理解篇
1)首先,servlet是一段程式,其次,是運行在伺服器上的程式,再次,是處理用戶端請求的運行在伺服器上程式。主要功能在於互動式地瀏覽和修改資料,產生動態Web內容。
2) servlet的程式則有兩個Java包組成,javax.servlet、 javax.servlet.http。其中javax.servlet中定義類和介面,javax.servlet.http定義了採用HTTP協議通訊的HttpServlet類
3)所有的servlet程式都必須實現servlet介面,實現過程如下圖所示:
1,servlet執行個體化到記憶體,調用init方法 ;
2,用戶端請求和相應調用init方法;
3,釋放記憶體,關閉服務。
servlet生命週期 Servlet程式執行過程就是一個生命週期即初始化階段、運行階段、銷毀階段。
1)初始化階段 Servlet容器建立Servlet執行個體,並調用init()方法進行初始化。
初始化目的:Servlet對象在處理用戶端請求前完成一些初始化的工作,建立資料庫連接,擷取配置資訊等。 細節注意:1,Servlet容器複雜載入和執行個體化Servlet;2,建立一個Servlet對象,init()方法只被調用一次;3,初始化階段會拋出ServletException異常,發生異常servlet不在被執行。
2)運行階段 servlet對象接受請求,建立ServletRequest和ServletResponse對象,然後調用service方法。
細節注意:1,service()方法調用之前,init()方法必須成功執行即初始化成功;2,通過ServletRequest對象得到用戶端的相關請求資訊,ServletResponse設定相應資訊。
3)銷毀階段 Servlet容器調用destroy()方法後,容器釋放Servlet執行個體,記憶體回收機制處理。 細節注意:1,當Servlet容器終止運行,或重新載入新執行個體時,調用destroy()方法。 總結 在servlet生命週期中,servlet的初始化和銷毀只發生一次,即init()方法和destroy()方法執行一次,servlet()方法被執行的次數取決於被訪問的次數。整個過程就涉及到這三個方法。