九大內(nèi)置對(duì)象四大作用域

一.九大內(nèi)置對(duì)象

1.request?

request.setAttribute(String key, Object obj):通過鍵? ? ? ? ?值來保存數(shù)據(jù);

request.getAttribute(String name) 保存數(shù)據(jù);

request.getParameter(String name)根據(jù)標(biāo)簽的? ? ? ? ? ? ?name屬性取得標(biāo)簽value的值

request.setCharacterEncoding("字符集")設(shè)置字? ? ? ? ? ? ?符集

request.getRequestDispatcher("index.jsp").forw? ? ? ard(request, response)請(qǐng)求轉(zhuǎn)發(fā),跳轉(zhuǎn)到 別? ? ? ? 的jsp

2.response

?response.sendRedirect("index,jsp")響應(yīng)頁面從? ? ? ? ? ? ?定向,不能傳值

response的頁面重定向后無法取到數(shù)據(jù),所以它只是起一個(gè)頁面跳轉(zhuǎn)的功能

response.sendRedirect("main.jsp") 和request.getRequestDispatcher("index.jsp").forward(request, response)是有區(qū)別的,response的頁面重定向不能傳值,而request的

請(qǐng)求轉(zhuǎn)發(fā)是可以的。另外一個(gè)區(qū)別是在URL地址上的區(qū)別,response的頁面重定向后,URL顯示的是跳轉(zhuǎn)后的頁面

3.out

? out 對(duì)象用于在Web瀏覽器內(nèi)輸出信息,并且管理應(yīng)用服務(wù)器上的輸出緩沖區(qū)。在使用 out 對(duì)象輸出數(shù)據(jù)時(shí),可以對(duì)數(shù)據(jù)緩沖區(qū)進(jìn)行操作,及時(shí)清除緩沖區(qū)中的殘余數(shù)據(jù),為其他的輸出讓出緩沖空間。待數(shù)據(jù)輸出完畢后,要及時(shí)關(guān)閉輸出流。其最常用的方法為print,可在頁面中顯示字符串信息。out的作用域?yàn)閜age:

4.session

?session 對(duì)象是由服務(wù)器自動(dòng)創(chuàng)建的與用戶請(qǐng)求相關(guān)的對(duì)象。服務(wù)器為每個(gè)用戶都生成一個(gè)session對(duì)象,用于保存該用戶的信息,跟蹤用戶的操作狀態(tài)。session對(duì)象內(nèi)部使用Map類來保存數(shù)據(jù),因此保存數(shù)據(jù)的格式為 “Key/value”。 session對(duì)象的value可以使用對(duì)象類型。session的常用方法有setAttribute(String key,Object value)以key/value的形式將對(duì)象保存到session中,getAttribute(String key)通過key值獲取session中保存的value,invalidate()強(qiáng)制session對(duì)象失效,getId()獲取sessionid,setMaxInactiveInterval(int interval)設(shè)置session的非活動(dòng)時(shí)間,getMaxInactiveInterval()獲取session的有效非活動(dòng)時(shí)間,removeAttribute(String?key)刪除session中對(duì)應(yīng)key的value值

5.application

? application 對(duì)象可將信息保存在服務(wù)器中,直到服務(wù)器關(guān)閉,否則application對(duì)象中保存的信息會(huì)在整個(gè)應(yīng)用中都有效。與session對(duì)象相比,application對(duì)象生命周期更長,類似于系統(tǒng)的“全局變量”。application常用方法有setAttribute(String key,Object value)以key/value的形式將對(duì)象存儲(chǔ)到application中,getAttribute(String key)通過key獲取application中存儲(chǔ)的對(duì)象,getRealPath(String path)返回相對(duì)路徑的真實(shí)路徑

6.pageContext

?? pageContext 對(duì)象的作用是取得任何范圍的參數(shù),通過它可以獲取 JSP頁面的out、request、reponse、session、application 等對(duì)象。pageContext對(duì)象的創(chuàng)建和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext對(duì)象。pageContext的常用方法有g(shù)etRequest()獲取request對(duì)象,getResponse()獲取response對(duì)象,getSession()獲得session對(duì)象,getOut()獲取out對(duì)象,setAttribute(String key,Object?value)保存屬性,getAttribute(String key)獲取屬性,include("url")請(qǐng)求指定的資源,并且將目標(biāo)資源的響應(yīng)結(jié)果包含在調(diào)用頁面的響應(yīng)中

7.page

?page 對(duì)象代表JSP本身,只有在JSP頁面內(nèi)才是合法的。 page隱含對(duì)象本質(zhì)上包含當(dāng)前 Servlet接口引用的變量,類似于Java編程中的 this 指針。

8.config

config 對(duì)象的主要作用是取得服務(wù)器的配置信息。通過 pageConext對(duì)象的 getServletConfig() 方法可以獲取一個(gè)config對(duì)象。當(dāng)一個(gè)Servlet 初始化時(shí),容器把某些信息通過 config對(duì)象傳遞給這個(gè) Servlet。 開發(fā)者可以在web.xml 文件中為應(yīng)用程序環(huán)境中的Servlet程序和JSP頁面提供初始化參數(shù)。

9.exception

exception 對(duì)象的作用是顯示異常信息,只有在包含 isErrorPage="true" 的頁面中才可以被使用,在一般的JSP頁面中使用該對(duì)象將無法編譯JSP文件。excepation對(duì)象和Java的所有對(duì)象一樣,都具有系統(tǒng)提供的繼承結(jié)構(gòu)。exception 對(duì)象幾乎定義了所有異常情況。在Java程序中,可以使用try/catch關(guān)鍵字來處理異常情況; 如果在JSP頁面中出現(xiàn)沒有捕獲到的異常,就會(huì)生成 exception 對(duì)象,并把 exception 對(duì)象傳送到在page指令中設(shè)定的錯(cuò)誤頁面中,然后在錯(cuò)誤頁面中處理相應(yīng)的 exception 對(duì)象

二.四大作用域

??

1.request

他在當(dāng)前請(qǐng)求中有效,request可以通過setAttribute()方法實(shí)現(xiàn)頁面中的信息傳遞,也可以通過forward()方法進(jìn)行頁面間的跳轉(zhuǎn),需要注意的是request是轉(zhuǎn)發(fā)不是重定向,轉(zhuǎn)發(fā)相對(duì)于瀏覽器來說是透明的,也就是無論頁面如何跳轉(zhuǎn),地址欄上顯示的依舊是最初的地址。

? 2.session

他在當(dāng)前回話中有效。當(dāng)一個(gè)臺(tái)電腦上的同一瀏覽器對(duì)服務(wù)器進(jìn)行多次訪問時(shí),在這多次訪問之間傳遞的信息就是session作用域的范圍。它從瀏覽器發(fā)出第一個(gè)HTTP請(qǐng)求即可認(rèn)為會(huì)話開始,但是會(huì)話結(jié)束的時(shí)間是不確定的,因?yàn)樵跒g覽器關(guān)閉時(shí)并不會(huì)通知服務(wù)器,一般Tomcat設(shè)置的默認(rèn)時(shí)間為120分鐘,也可以通過setMaxInactiveInterval(int)方法進(jìn)行設(shè)置,或是通過invalidate()方法強(qiáng)制結(jié)束當(dāng)前會(huì)話。

? 3.application

他在所有的應(yīng)用程序中都有效,也就是當(dāng)服務(wù)器開始到服務(wù)器結(jié)束這段時(shí)間,application作用域中存儲(chǔ)的數(shù)據(jù)都是有效的,同樣可以通過setAttribute賦值和getAttribute取值。

? 4.page

他只在當(dāng)前頁面有效,也就是用戶請(qǐng)求的頁面有效,當(dāng)當(dāng)前頁面關(guān)閉或轉(zhuǎn)到其他頁面時(shí),page對(duì)象將在響應(yīng)回饋給客戶端后釋放。





















config 對(duì)象的主要作用是取得服務(wù)器的配置信息。通過 pageConext對(duì)象的 getServletConfig() 方法可以獲取一個(gè)config對(duì)象。當(dāng)一個(gè)Servlet 初始化時(shí),容器把某些信息通過 config對(duì)象傳遞給這個(gè) Servlet。 開發(fā)者可以在web.xml 文件中為應(yīng)用程序環(huán)境中的Servlet程序和JSP頁面提供初始化參數(shù)。

exception 對(duì)象的作用是顯示異常信息,只有在包含 isErrorPage="true" 的頁面中才可以被使用,在一般的JSP頁面中使用該對(duì)象將無法編譯JSP文件。excepation對(duì)象和Java的所有對(duì)象一樣,都具有系統(tǒng)提供的繼承結(jié)構(gòu)。exception 對(duì)象幾乎定義了所有異常情況。在Java程序中,可以使用try/catch關(guān)鍵字來處理異常情況; 如果在JSP頁面中出現(xiàn)沒有捕獲到的異常,就會(huì)生成 exception 對(duì)象,并把 exception 對(duì)象傳送到在page指令中設(shè)定的錯(cuò)誤頁面中,然后在錯(cuò)誤頁面中處理相應(yīng)的 exception 對(duì)象

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,645評(píng)論 19 139
  • JSP JSP是一種Web服務(wù)設(shè)計(jì)標(biāo)準(zhǔn),以Java技術(shù)為基礎(chǔ),實(shí)現(xiàn)頁面的動(dòng)態(tài)輸出。Serlvet 提供了用于服務(wù)器...
    云承寒閱讀 1,276評(píng)論 0 5
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評(píng)論 18 399
  • 能夠不違背自己的活下去 即使被貧窮牢牢鎖住,纏繞一身 大概,也是非常幸福的事吧 Photo by Tran Truong
    憨憨爹閱讀 219評(píng)論 0 0
  • 不要吊在空中跳舞 昨日趁著孩爸帶娃的空隙讀了讀魏書生的《班主任工作漫談》,只要讀,就能發(fā)現(xiàn)新東西,不禁拍手驚嘆。 ...
    小茹老師閱讀 221評(píng)論 0 0

友情鏈接更多精彩內(nèi)容