主頁 > 知識(shí)庫 > 淺談jsp九大內(nèi)置對(duì)象及四個(gè)作用域

淺談jsp九大內(nèi)置對(duì)象及四個(gè)作用域

熱門標(biāo)簽:百度地圖添加標(biāo)注圖標(biāo)樣式 好操作的電話機(jī)器人廠家 聊城智能電銷機(jī)器人外呼 企業(yè)怎么在聯(lián)通申請(qǐng)400電話 泰州泰興400電話 怎么申請(qǐng) 南昌市地圖標(biāo)注app 如何用中國地圖標(biāo)注數(shù)字點(diǎn) 南京新思維電話機(jī)器人 地圖標(biāo)注市場怎么樣

request           請(qǐng)求對(duì)象             類型 javax.servlet.ServletRequest        作用域 Request

response          響應(yīng)對(duì)象              類型 javax.servlet.SrvletResponse        作用域 Page

pageContext       頁面上下文對(duì)象        類型 javax.servlet.jsp.PageContext       作用域 Page

session           會(huì)話對(duì)象              類型 javax.servlet.http.HttpSession      作用域 Session

application       應(yīng)用程序?qū)ο?nbsp;         類型 javax.servlet.ServletContext        作用域 Application

out               輸出對(duì)象              類型 javax.servlet.jsp.JspWriter         作用域 Page

config            配置對(duì)象              類型 javax.servlet.ServletConfig         作用域 Page

page              頁面對(duì)象              類型 javax.lang.Object                   作用域 Page

exception         例外對(duì)象              類型 javax.lang.Throwable                作用域 page

“exception” 對(duì)象則代表了JSP文件運(yùn)行時(shí)所產(chǎn)生的例外對(duì)象,此對(duì)象不能在一般JSP文件中直接使用,而只能在使用了“%@ page isErrorPage="true "%>”的JSP文件中使用。

何為作用域

先讓我們看看效果:

大概流程是這樣的,我們訪問index.jsp的時(shí)候,分別對(duì)pageContext, request, session,application四個(gè)作用域中的變量進(jìn)行累加。(當(dāng)然先判斷這個(gè)變量是不是存在,如果變量不存在,則要把變量初始化成1)。計(jì)算完成后就從index.jsp執(zhí)行forward跳轉(zhuǎn)到test.jsp。在test.jsp里再進(jìn)行一次累加,然后顯示出這四個(gè)整數(shù)來。

從顯示的結(jié)果來看,我們可以直觀的得出結(jié)論:

page里的變量沒法從index.jsp傳遞到test.jsp。只要頁面跳轉(zhuǎn)了,它們就不見了。

request里的變量可以跨越forward前后的兩頁。但是只要刷新頁面,它們就重新計(jì)算了。

session和application里的變量一直在累加,開始還看不出區(qū)別,只要關(guān)閉瀏覽器,再次重啟瀏覽器訪問這頁,session里的變量就重新計(jì)算了。

application里的變量一直在累加,除非你重啟tomcat,否則它會(huì)一直變大。

作用域規(guī)定的是變量的有效期限

如果把變量放到pageContext里,就說明它的作用域是page,它的有效范圍只在當(dāng)前jsp頁面里。

從把變量放到pageContext開始,到j(luò)sp頁面結(jié)束,你都可以使用這個(gè)變量。

如果把變量放到request里,就說明它的作用域是request,它的有效范圍是當(dāng)前請(qǐng)求周期。

所謂請(qǐng)求周期,就是指從http請(qǐng)求發(fā)起,到服務(wù)器處理結(jié)束,返回響應(yīng)的整個(gè)過程。在這個(gè)過程中可能使用forward的方式跳轉(zhuǎn)了多個(gè)jsp頁面,在這些頁面里你都可以使用這個(gè)變量。

如果把變量放到session里,就說明它的作用域是session,它的有效范圍是當(dāng)前會(huì)話。

所謂當(dāng)前會(huì)話,就是指從用戶打開瀏覽器開始,到用戶關(guān)閉瀏覽器這中間的過程。這個(gè)過程可能包含多個(gè)請(qǐng)求響應(yīng)。也就是說,只要用戶不關(guān)瀏覽器,服務(wù)器就有辦法知道這些請(qǐng)求是一個(gè)人發(fā)起的,整個(gè)過程被稱為一個(gè)會(huì)話(session),而放到會(huì)話中的變量,就可以在當(dāng)前會(huì)話的所有請(qǐng)求里使用。

如果把變量放到application里,就說明它的作用域是application,它的有效范圍是整個(gè)應(yīng)用。

整個(gè)應(yīng)用是指從應(yīng)用啟動(dòng),到應(yīng)用結(jié)束。我們沒有說“從服務(wù)器啟動(dòng),到服務(wù)器關(guān)閉”,是因?yàn)橐粋€(gè)服務(wù)器可能部署多個(gè)應(yīng)用,當(dāng)然你關(guān)閉了服務(wù)器,就會(huì)把上面所有的應(yīng)用都關(guān)閉了。

application作用域里的變量,它們的存活時(shí)間是最長的,如果不進(jìn)行手工刪除,它們就一直可以使用。

與上述三個(gè)不同的是,application里的變量可以被所有用戶共用。如果用戶甲的操作修改了application中的變量,用戶乙訪問時(shí)得到的是修改后的值。這在其他scope中都是不會(huì)發(fā)生的,page, request,session都是完全隔離的,無論如何修改都不會(huì)影響其他人的數(shù)據(jù)。

以上這篇淺談jsp九大內(nèi)置對(duì)象及四個(gè)作用域就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • JSP中九大內(nèi)置對(duì)象和四種屬性范圍詳解
  • jsp內(nèi)置對(duì)象
  • jsp的九大內(nèi)置對(duì)象深入講解

標(biāo)簽:臨汾 自貢 山南 銅川 吉林 開封 白銀 烏蘭察布

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺談jsp九大內(nèi)置對(duì)象及四個(gè)作用域》,本文關(guān)鍵詞  淺談,jsp,九大,內(nèi)置,對(duì)象,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺談jsp九大內(nèi)置對(duì)象及四個(gè)作用域》相關(guān)的同類信息!
  • 本頁收集關(guān)于淺談jsp九大內(nèi)置對(duì)象及四個(gè)作用域的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章