一. 四大域對象
1. PageContext :頁面范圍的數據
2. ServletRequest:請求范圍的數據
3. HttpSession:會話范圍的數據
4. ServletContext:應用范圍的數據
二. 9個內置對象
1.request對象
request 對象是 javax.servlet.httpServletRequest類型的對象。 該對象代表了客戶端的請求信息,主要用於接受通過HTTP協議傳送到服務器的數據。
(包括頭信息. 系統信息. 請求方式以及請求參數等)。request對象的作用域為一次請求。
2.response對象
response 代表的是對客戶端的響應,主要是將JSP容器處理過的對象傳回到客戶端。response對象也具有作用域,它只在JSP頁面內有效。
3.session對象
session 對象是由服務器自動創建的與用戶請求相關的對象。服務器為每個用戶都生成一個session對象,用於保存該用戶的信息,跟蹤用戶的操作狀態。
session對象內部使用Map類來保存數據,因此保存數據的格式為 “Key/value”。 session對象的value可以使復雜的對象類型,而不僅僅局限於字符串類型。
4.application對象
application 對象可將信息保存在服務器中,直到服務器關閉,否則application對象中保存的信息會在整個應用中都有效。
與session對象相比,application對象生命周期更長,類似於系統的“全局變量”。
5.out 對象
out 對象用於在Web瀏覽器內輸出信息,並且管理應用服務器上的輸出緩沖區。
在使用 out 對象輸出數據時,可以對數據緩沖區進行操作,及時清除緩沖區中的殘余數據,為其他的輸出讓出緩沖空間。待數據輸出完畢后,要及時關閉輸出流。
6.pageContext 對象
pageContext 對象的作用是取得任何范圍的參數,通過它可以獲取 JSP頁面的out. request. reponse. session. application 等對象。
pageContext對象的創建和初始化都是由容器來完成的,在JSP頁面中可以直接使用 pageContext對象。
7.config 對象
config 對象的主要作用是取得服務器的配置信息。通過 pageConext對象的 getServletConfig() 方法可以獲取一個config對象。
當一個Servlet 初始化時,容器把某些信息通過 config對象傳遞給這個 Servlet。
開發者可以在web.xml 文件中為應用程序環境中的Servlet程序和JSP頁面提供初始化參數。
8.page 對象
page 對象代表JSP本身,只有在JSP頁面內才是合法的。 page隱含對象本質上包含當前 Servlet接口引用的變量,類似於Java編程中的 this 指針。
9.exception 對象
exception 對象的作用是顯示異常信息,只有在包含 isErrorPage="true" 的頁面中才可以被使用,在一般的JSP頁面中使用該對象將無法編譯JSP文件。
excepation對象和Java的所有對象一樣,都具有系統提供的繼承結構。exception 對象幾乎定義了所有異常情況。
如果在JSP頁面中出現沒有捕獲到的異常,就會生成 exception 對象,並把 exception 對象傳送到在page指令中設定的錯誤頁面中,然后在錯誤頁面中處理相應的 exception 對象。
三. EL表達式的11個隱式對象
請求參數
1. param 包含所有的參數的Map可以獲取參數返回String
2. paramValues 包含所有參數的Map,可以獲取參數的數組返回String[]
頭信息
3. header 包含所有的頭信息的Map。可以獲取頭信息返回String
4. headerValues 包含所有的頭信息的Map。可以獲取頭信息數組返回String[]
Cookie
5. cookie包含所有cookie的Map,key為Cookie的name屬性值
初始化參數
6. iniParam 包含所有的初始化參數的Map,可以獲取初始化的參數.
作用域
7. pageScope 包含page作用域內的Map.
8. requestScope 包含request作用域內的Map
9. sessionScope 包含session作用域內的Map
10. applicationScope 包含application作用域內的Map
11. pageContext 包含頁面內的變量的Map,包含request,response,page,application,config等所有的隱藏對象