JSP中的九大內置對象和四大做用域

1、JSP9大內置對象
JSP9大內置對象分別爲:request、response、session、application、out、pagecontext、config、page、exception
一、request對象
request 對象是 javax.servlet.httpServletRequest類型的對象。
 該對象表明了客戶端的請求信息,主要用於接受經過HTTP協議傳送到服務器的數據。(包括頭信息、系統信息、請求方式以及請求參數等)。request對象的做用域爲一次請求。
二、response對象
response 表明的是對客戶端的響應,主要是將JSP容器處理過的對象傳回到客戶端。response對象也具備做用域,它只在JSP頁面內有效。
三、session對象
session 對象是由服務器自動建立的與用戶請求相關的對象。服務器爲每一個用戶都生成一個session對象,用於保存該用戶的信息,跟蹤用戶的操做狀態。session對象內部使用Map類來保存數據,所以保存數據的格式爲 「Key/value」。 session對象的value可使複雜的對象類型,而不只僅侷限於字符串類型。
四、application對象
application 對象可將信息保存在服務器中,直到服務器關閉,不然application對象中保存的信息會在整個應用中都有效。與session對象相比,application對象生命週期更長,相似於系統的「全局變量」。
五、out 對象
out 對象用於在Web瀏覽器內輸出信息,而且管理應用服務器上的輸出緩衝區。在使用 out 對象輸出數據時,能夠對數據緩衝區進行操做,及時清除緩衝區中的殘餘數據,爲其餘的輸出讓出緩衝空間。待數據輸出完畢後,要及時關閉輸出流。
六、pageContext 對象
pageContext 對象的做用是取得任何範圍的參數,經過它能夠獲取 JSP頁面的out、request、reponse、session、application 等對象。pageContext對象的建立和初始化都是由容器來完成的,在JSP頁面中能夠直接使用 pageContext對象。
七、config 對象
config 對象的主要做用是取得服務器的配置信息。經過 pageConext對象的 getServletConfig 方法能夠獲取一個config對象。當一個Servlet 初始化時,容器把某些信息經過 config對象傳遞給這個 Servlet。 開發者能夠在web.xml 文件中爲應用程序環境中的Servlet程序和JSP頁面提供初始化參數。
八、page 對象
page 對象表明JSP自己,只有在JSP頁面內纔是合法的。 page隱含對象本質上包含當前 Servlet接口引用的變量,相似於Java編程中的 this 指針。
九、exception 對象
exception 對象的做用是顯示異常信息,只有在包含 isErrorPage="true" 的頁面中才能夠被使用,在通常的JSP頁面中使用該對象將沒法編譯JSP文件。excepation對象和Java的全部對象同樣,都具備系統提供的繼承結構。exception 對象幾乎定義了全部異常狀況。在Java程序中,可使用try/catch關鍵字來處理異常狀況; 若是在JSP頁面中出現沒有捕獲到的異常,就會生成 exception 對象,並把 exception 對象傳送到在page指令中設定的錯誤頁面中,而後在錯誤頁面中處理相應的 exception 對象。java

 

2、四大做用域
四大做用域page 、request 、session 、application 
一、若是把變量放到pageContext裏,就說明它的做用域是page,它的有效範圍只在當前jsp頁面裏。 從把變量放到pageContext開始,到jsp頁面結束,你均可以使用這個變量。
二、若是把變量放到request裏,就說明它的做用域是request,它的有效範圍是當前請求週期。所謂請求週期,就是指從http請求發起,到服務器處理結束,返回響應的整個過程。在這個過程當中可能使用forward的方式跳轉了多個jsp頁面,在這些頁面裏你均可以使用這個變量。
三、若是把變量放到session裏,就說明它的做用域是session,它的有效範圍是當前會話。所謂當前會話,就是指從用戶打開瀏覽器開始,到用戶關閉瀏覽器這中間的過程。這個過程可能包含多個請求響應。也就是說,只要用戶不關瀏覽器,服務器就有辦法知道這些請求是一我的發起的,整個過程被稱爲一個會話(session),而放到會話中的變量,就能夠在當前會話的全部請求裏使用。
四、若是把變量放到application裏,就說明它的做用域是application,它的有效範圍是整個應用。整個應用是指從應用啓動,到應用結束。咱們沒有說「從服務器啓動,到服務器關閉」,是由於一個服務器可能部署多個應用,固然你關閉了服務器,就會把上面全部的應用都關閉了。application做用域裏的變量,它們的存活時間是最長的,若是不進行手工刪除,它們就一直可使用。與上述三個不一樣的是,application裏的變量能夠被全部用戶共用。若是用戶甲的操做修改了application中的變量,用戶乙訪問時獲得的是修改後的值。這在其餘scope中都是不會發生的,page, request, session都是徹底隔離的,不管如何修改都不會影響其餘人的數據。web

相關文章
相關標籤/搜索