溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JSP文件中生命周期的7個(gè)階段是什么

發(fā)布時(shí)間:2020-10-26 10:39:08 來(lái)源:億速云 閱讀:459 作者:小新 欄目:編程語(yǔ)言

這篇文章給大家分享的是有關(guān)JSP文件中生命周期的7個(gè)階段是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。

  JSP文件的生命周期分:解析、編譯、類加載、實(shí)例化、初始化、請(qǐng)求處理、銷毀,七個(gè)階段。

JSP文件是以.jsp擴(kuò)展名保存的,這使的服務(wù)器在知道這是一個(gè)JSP文件,需要經(jīng)歷幾個(gè)JSP生命周期階段。

下面我們就來(lái)具體看看JSP文件的生命周期的每個(gè)階段是什么,有什么作用:

1、JSP文件的解析(預(yù)處理)階段

當(dāng)客戶端向Server(服務(wù)器)發(fā)出請(qǐng)求時(shí),JSP文件首先會(huì)被轉(zhuǎn)到servlet容器里;然后在servlet容器里被解析,轉(zhuǎn)換為Servlet源文件(.java文件)

2、編譯階段

在servlet容器里編譯servlet源文件(.java文件),生成servlet類(.class文件)

JSP文件中生命周期的7個(gè)階段是什么
                       JSP總體執(zhí)行流程圖

3、類加載階段

類加載器加載類文件,容器會(huì)檢查servlet類是否比jsp文件舊(確保JSP文件被修改)。

如果JSP文件被修改,那么容器將再次執(zhí)行轉(zhuǎn)換(將JSP轉(zhuǎn)換為Servlet),否則它會(huì)跳過(guò)轉(zhuǎn)換階段(即,如果JSP網(wǎng)頁(yè)未被修改,那么它不會(huì)進(jìn)行轉(zhuǎn)換以提高性能,因?yàn)榇穗A段需要時(shí)間)。

4、實(shí)例化階段

創(chuàng)建生成Servlet的對(duì)象,實(shí)例化servlet類

5、初始化階段

當(dāng)載入JSP文件后,容器會(huì)在為請(qǐng)求提供任何服務(wù)前調(diào)用jspInit()方法,始化servlet實(shí)例(僅當(dāng)servlet文件的實(shí)例未運(yùn)行或者它比jsp文件舊時(shí),Jsp容器才會(huì)執(zhí)行此階段。)

public void jspInit(){
  // 初始化代碼
}

6、請(qǐng)求處理階段

容器會(huì)創(chuàng)建一個(gè)新線程,調(diào)用_jspService()方法,請(qǐng)求(HttpServletRequest)和響應(yīng)(HttpServletRespnse)對(duì)象作為該方法的參數(shù)。

void _jspService(HttpServletRequest req,HttpServletResponse res)
{ 
// 代碼
}

7、銷毀階段

調(diào)用jspDestroy()方法來(lái)銷毀servlet類的實(shí)例

public void jspDestory()
{ 
//刪除servlet類實(shí)例的代碼
}

JSP文件中生命周期的7個(gè)階段是什么

感謝各位的閱讀!關(guān)于JSP文件中生命周期的7個(gè)階段是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI