servlet的生命周期5步 JSP的生命周期?
JSP的生命周期?JSP生命周期包括以下幾個(gè)階段:解析階段:servlet容器解析JSP文件代碼,如果出現(xiàn)語(yǔ)法錯(cuò)誤,它會(huì)將錯(cuò)誤信息返回給客戶(hù)端。翻譯階段:servlet容器將JSP文件翻譯成servl
JSP的生命周期?
JSP生命周期包括以下幾個(gè)階段:解析階段:servlet容器解析JSP文件代碼,如果出現(xiàn)語(yǔ)法錯(cuò)誤,它會(huì)將錯(cuò)誤信息返回給客戶(hù)端。翻譯階段:servlet容器將JSP文件翻譯成servlet源文件。編譯階段:servlet容器編譯servlet源文件生成servlet源文件初始化階段:加載JSP對(duì)應(yīng)的servlet類(lèi),創(chuàng)建其實(shí)例,并調(diào)用其初始化方法運(yùn)行時(shí)階段:調(diào)用JSP銷(xiāo)毀階段對(duì)應(yīng)的servlet實(shí)例的服務(wù)方法:調(diào)用JSP銷(xiāo)毀階段對(duì)應(yīng)的servlet實(shí)例的銷(xiāo)毀方法,然后銷(xiāo)毀servlet實(shí)例JSP生命周期代碼表達(dá)式:<%@page contenttype=“text/HTML charset=GB2312”%>
<%!private int initVar=0 private int serviceVar=0 private int destroyVar=0%><%!public void jspInit(){initVar系統(tǒng)輸出打?。ā癹spinit():JSP初始化為“initvar”次)}public void jspdestroy(){destroyvar系統(tǒng)輸出打?。ā癹spdestroy():JSP destromed“destroyvar”次)}%><%servicevar系統(tǒng)輸出打?。ā癑spservice():JSP已響應(yīng)總共“servicevar”個(gè)請(qǐng)求“”)string content1=“初始化次數(shù):”initvar string content2=“對(duì)客戶(hù)請(qǐng)求的響應(yīng)次數(shù):”servicevar string content3=“銷(xiāo)毀次數(shù):”destroyvar%>。Initvar記錄初始化的次數(shù)。Servicevar記錄響應(yīng)的數(shù)量。Destroyvar destroy times
JSP對(duì)象:請(qǐng)求對(duì)象、響應(yīng)對(duì)象、輸出對(duì)象、頁(yè)面上下文、頁(yè)面上下文、會(huì)話(huà)對(duì)象、應(yīng)用程序?qū)ο?、?yè)面對(duì)象、配置參數(shù)配置對(duì)象、異常處理對(duì)象。
JSP操作:請(qǐng)求頁(yè)面時(shí),包括引入文件;usebean,查找或?qū)嵗疛avaBean;setproperty,設(shè)置JavaBean屬性;getproperty,輸出JavaBean屬性;forward,將請(qǐng)求傳輸?shù)叫马?yè)面;plugin,根據(jù)瀏覽器類(lèi)型為Java插件生成對(duì)象或嵌入標(biāo)記。
什么是servlet,簡(jiǎn)述servlet的生命周期?
每個(gè)人都知道有一個(gè)生命周期。一個(gè)人經(jīng)歷了從出生到老年的生命周期。這是一個(gè)生命周期。
再次ASP.NET網(wǎng)頁(yè)的發(fā)展也有其自身的生命周期,從產(chǎn)生到毀滅,也經(jīng)歷了不同的階段和過(guò)程。關(guān)于ASP.NET在頁(yè)面生命周期中執(zhí)行一些列處理步驟。
這些步驟包括初始化、控件實(shí)例化、恢復(fù)和維護(hù)狀態(tài)、運(yùn)行時(shí)處理程序代碼和呈現(xiàn)。
一般來(lái)說(shuō),它還經(jīng)歷以下幾個(gè)階段
1。頁(yè)面請(qǐng)求:頁(yè)面請(qǐng)求發(fā)生在頁(yè)面生命周期開(kāi)始之前,ASP.NET開(kāi)始:在開(kāi)始階段,將設(shè)置頁(yè)面屬性,如請(qǐng)求和響應(yīng)。在此階段,頁(yè)面還將確定請(qǐng)求是回發(fā)請(qǐng)求還是新請(qǐng)求,并設(shè)置ispostback屬性
3。頁(yè)面初始化:在頁(yè)面初始化過(guò)程中,可以使用頁(yè)面中的控件,并設(shè)置每個(gè)控件的uniqueID屬性。
4. 加載:在加載過(guò)程中,如果當(dāng)前請(qǐng)求是回發(fā)請(qǐng)求,則將使用從視圖狀態(tài)和控件狀態(tài)恢復(fù)的信息加載控件屬性。
5. 驗(yàn)證:在驗(yàn)證期間,將調(diào)用所有驗(yàn)證程序控件的validate方法,該方法將設(shè)置每個(gè)驗(yàn)證程序控件和頁(yè)的isvalidate屬性。
6. 回發(fā)事件處理:如果請(qǐng)求是回發(fā)請(qǐng)求,將調(diào)用所有事件處理程序
7。呈現(xiàn):呈現(xiàn)前,將保存頁(yè)面和所有控件的視圖狀態(tài)。在呈現(xiàn)階段,頁(yè)面為每個(gè)控件調(diào)用render方法,該方法提供一個(gè)文本編寫(xiě)器,將控件的輸出寫(xiě)入頁(yè)面的response屬性和OutputStream
8。Unload:在完全呈現(xiàn)頁(yè)面并將其發(fā)送到客戶(hù)端,并準(zhǔn)備放棄該頁(yè)面之后,調(diào)用Unload。此時(shí),頁(yè)面屬性被卸載并執(zhí)行清理。
一般來(lái)說(shuō),如果面試中有人問(wèn)你,你只需要在面前加一點(diǎn)藝術(shù)來(lái)表達(dá)生命周期的意義,然后說(shuō)出來(lái)ASP.NET只是生命周期的幾個(gè)步驟。據(jù)估計(jì),面試官稍后會(huì)就某個(gè)階段提出深入的問(wèn)題。這時(shí),你需要知道具體的細(xì)節(jié)。