位置:首頁 > Java技術 > JSP教學 > JSP生命周期

JSP生命周期

理解關鍵JSP中的低層級功能就是了解簡單的生命周期。

一個JSP的生命周期可以被定義為從它的創作,直到它類似於一個servlet的生命周期,這是需要編譯JSP轉換成Servlet一個額外的步驟銷毀的整個過程。

以下是一個JSP的執行路徑

  • 編譯

  • 初始化

  • 執行

  • 清除

JSP的生命周期分為四個主要階段是非常相似的Servlet的生命周期,並有如下幾要點:

JSP Life Cycle

JSP 編譯:

當瀏覽器請求一個JSP,JSP引擎首先檢查它是否需要編譯頁麵。如果頁麵從來冇有被編譯,或者如果JSP已經被修改,因為它是最後一個編譯JSP引擎編譯的頁麵。

編譯過程包括三個步驟:

  • 解析JSP。

  • 打開JSP成servlet。

  • 編譯這個servlet。

JSP初始化:

當一個容器加載一個JSP它的任何服務請求之前調用jspInit()方法。如果您需要執行JSP特定的初始化,覆蓋jspInit()方法:

public void jspInit(){
  // Initialization code...
}

通常情況下初始化隻進行一次,並在 servlet的 init方法中,一般初始化數據庫連接,打開的文件,並在jspInit方法建立查找表。

JSP 執行:

JSP的生命周期的這個階段代表請求的所有交互,直到JSP被破壞。

當瀏覽器請求一個JSP與頁麵已經被加載並初始化時,JSP引擎調用JSP中的_jspService() 方法。

在_jspService()方法接受一個HttpServletRequest 和 HttpServletResponse 作為它的參數如下:

void _jspService(HttpServletRequest request, 
                 HttpServletResponse response)
{
   // Service handling code...
}

調用一個JSP的_jspService() 方法一次,每一個請求,並負責生成該請求的響應,這方法也負責產生反應,所有七個HTTP方法,即 GET,POST,DELETE等。

JSP 清理:

JSP的生命周期銷毀階段代表當JSP被刪除所使用容器。

jspDestroy()方法是等價JSP servlet的destroy方法。覆蓋jspDestroy當您需要執行任何清理,如釋放數據庫連接或關閉打開的文件。

jspDestroy()方法有以下形式:

public void jspDestroy()
{
   // Your cleanup code goes here.
}