JSP筆記05——生命周期(轉)
阿新 • • 發佈:2017-06-10
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——生命周期(轉)