1. 程式人生 > >JSP筆記05——生命周期(轉)

JSP筆記05——生命周期(轉)

color 創建 jsp編譯 響應 init 一次 方法 blog 什麽

原始內容:https://www.tutorialspoint.com/jsp/jsp_life_cycle.htm

在這一章中,我們將討論JSP的生命周期。

理解JSP低層次功能的關鍵在於——理解它們所遵循的、最簡單的生命周期。

JSP的生命周期就是指“它從創建到銷毀”的這一過程。

這個過程和servlet的生命周期很相似,

只不過增加了額外的一步,需要先把JSP編譯成servlet。

JSP所遵循的路徑

下面就是JSP所遵循的路徑 −

  • 匯編
  • 初始化
  • 執行
  • 清理

JSP生命周期的4個主要階段與servlet的生命周期十分相似。4個階段如下圖所示 −

技術分享

匯編

當一個瀏覽器請求一個JSP頁面的時候,JSP引擎首先檢查它是否需要編譯這個頁面。如果這個頁面從未被編譯,或者,這個頁面已經被修改,JSP引擎將編譯這個頁面。

這個匯編過程包括以下三步 -

  • 解析JSP.
  • 把JSP轉化為一個servlet.
  • 編譯servlet.

JSP的初始化

當容器加載一個JSP的時候,最先被調用的是 jspInit() 方法。如果你需要在這個時候做點什麽,請重寫這個方法 -

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

通常,初始化只會被執行一次,在這個時候,你可以:初始化數據庫連接、打開某些文件、建立“查詢表”等

JSP的執行

這一階段,JSP將與請求打交道。

每當瀏覽器請求一個已經被初始化的JSP頁面的時候,

JSP引擎將在調用在JSP中的 _jspService() 方法,該方法接收一個 HttpServletRequest 和一個 HttpServletResponse 作為參數,如下所示 -

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

JSP的 _jspService() 方法基於特定的HTTP請求生成相應的響應。這些HTTP請求可能是 GET、POST、DELETE等等。

JSP的清除

當JSP不再被使用的時候,就會被容器移除。

你可以通過覆蓋 方法,在JSP清除的時候做點什麽,比如說關閉數據庫連接,關閉文件啊,諸如此類 -

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

JSP筆記05——生命周期(轉)