新聞中心
JSP全稱是Java Server Pages,它和servle技術(shù)一樣,都是SUN公司定義的一種用于開(kāi)發(fā)動(dòng)態(tài)web資源的技術(shù),本篇文章重點(diǎn)為大家講解一下JSP生命周期。

為臨淄等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及臨淄網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、臨淄網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
JSP生命周期就是從創(chuàng)建到銷毀的整個(gè)過(guò)程,類似于servlet生命周期,區(qū)別在于JSP生命周期還包括將JSP文件編譯成servlet。
以下是JSP生命周期中所走過(guò)的幾個(gè)階段:
-
編譯階段:
servlet容器編譯servlet源文件,生成servlet類
-
初始化階段:
加載與JSP對(duì)應(yīng)的servlet類,創(chuàng)建其實(shí)例,并調(diào)用它的初始化方法
-
執(zhí)行階段:
調(diào)用與JSP對(duì)應(yīng)的servlet實(shí)例的服務(wù)方法
-
銷毀階段:
調(diào)用與JSP對(duì)應(yīng)的servlet實(shí)例的銷毀方法,然后銷毀servlet實(shí)例
很明顯,JSP生命周期的四個(gè)主要階段和servlet生命周期非常相似,下面給出圖示:
img
1.JSP編譯
當(dāng)瀏覽器請(qǐng)求JSP頁(yè)面(通過(guò)瀏覽器瀏覽URL?)時(shí),JSP引擎(?)會(huì)首先去檢查是否需要編譯這個(gè)文件。如果這個(gè)文件沒(méi)有被編譯過(guò),或者在上次編譯后被更改過(guò),則編譯這個(gè)JSP文件。(轉(zhuǎn)為且編譯servlet)
編譯的過(guò)程包括三個(gè)步驟:
-
解析JSP文件。
-
將JSP文件轉(zhuǎn)為servlet。
-
編譯servlet。
2.JSP初始化
容器(?)載入JSP文件后,它會(huì)在為請(qǐng)求提供任何服務(wù)前調(diào)用jspInit()方法。如果您需要執(zhí)行自定義的JSP初始化任務(wù),復(fù)寫jspInit()方法就行了,就像下面這樣:
public void jspInit(){
// 初始化代碼
}
一般來(lái)講程序只初始化一次,servlet也是如此。通常情況下您可以在jspInit()方法中初始化數(shù)據(jù)庫(kù)連接、打開(kāi)文件和創(chuàng)建查詢表。
3.JSP執(zhí)行
這一階段描述了JSP生命周期中一切與請(qǐng)求相關(guān)的交互行為,直到被銷毀。
當(dāng)JSP網(wǎng)頁(yè)完成初始化后,JSP引擎(?)將會(huì)調(diào)用_jspService()方法。
_jspService()方法需要一個(gè)HttpServletRequest對(duì)象和一個(gè)HttpServletResponse對(duì)象作為它的參數(shù),就像下面這樣:
void _jspService(HttpServletRequest request,
HttpServletResponse response)
{
// 服務(wù)端處理代碼
}
_jspService()方法在每個(gè)request中(?)被調(diào)用一次并且負(fù)責(zé)產(chǎn)生與之相對(duì)應(yīng)的response,并且它還負(fù)責(zé)產(chǎn)生所有7個(gè)HTTP方法的回應(yīng)**(?),比如GET、POST、DELETE等等。*(這過(guò)程不懂?)***
4.JSP清理
JSP生命周期的銷毀階段描述了當(dāng)一個(gè)JSP網(wǎng)頁(yè)從容器中被移除時(shí)所發(fā)生的一切。
jspDestroy()方法在JSP中等價(jià)于servlet中的銷毀方法。當(dāng)您需要執(zhí)行任何清理工作時(shí)復(fù)寫jspDestroy()方法,比如釋放數(shù)據(jù)庫(kù)連接或者關(guān)閉文件夾等等。
jspDestroy()方法的格式如下:
public void jspDestroy()
{
// 清理代碼
}
當(dāng)前文章:詳解JSP生命周期
網(wǎng)址分享:http://m.fisionsoft.com.cn/article/djooehi.html


咨詢
建站咨詢
