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