Jsp的隱式對象和EL的隱式對象學習
JSP共有九大內置對象:
(1) HttpSession類的session對象
作用:主要用於來分別保存每個用戶信息,與請求關聯的會話;
會話狀態維持是Web應用開發者必須面對的問題。
(2) HttpServletRequest類的request對象
作用:代表請求對象,主要用於接受客戶端通過HTTP協議連接傳輸到服務器端的數據。
(3) HttpServletResponse類的respone對象
作用:代表響應對象,主要用於向客戶端發送數據
(4) JspWriter類的out對象
作用:主要用於向客戶端輸出數據;
Out的基類是JspWriter
(5) ServletContex類的application對象
作用:主要用於保存用戶信息,代碼片段的運行環境;
它是一個共享的內置對象,即一個容器中的多個用戶共享一個application對象,故其保存的信息被所有用戶所共享.
(6) PageContext類的pageContext對象
作用:管理網頁屬性,爲JSP頁面包裝頁面的上下文,管理對屬於JSP中特殊可見部分中已命名對象的訪問,它的創建和初始化都是由容器來完成的。
(7) ServletConfig類的config對象
作用:代碼片段配置對象,表示Servlet的配置。
(8) Object類的page(相當於this)對象
作用:處理JSP網頁,是Object類的一個實例,指的是JSP實現類的實例,即它也是JSP本身,只有在JSP頁面範圍之內纔是合法的。
(9)Exception
作用:處理JSP文件執行時發生的錯誤和異常
EL共有11大內置對象:
*JSP隱式對象。
*作用域訪問隱式對象。
*參數訪問隱式對象。
*首部訪問隱式對象。
*初始化參數訪問隱式對象。
JSP隱式對象類中只有一個EL隱式對象,這就是pageContext隱式對象。這與同名的JSP隱式對象實際上就是同一個對象。餘下的EL隱式對象都是Java映射(map),他們只是提供了更容易的途徑來訪問pageContext隱式對象的某些性質。
共有4個作用域隱式對象,分別爲pageScope, requestScope, sessionScope和applicationScope. 這些隱式對象都是映射,利用他們可以很容易的訪問作用域屬性。例如:附加到request作用域的username屬性可以通過EL表達式${ requestScope.username}來直接訪問。
有兩個參數訪問隱式對象,可以用來訪問HTTP請求參數(表單提交參數),即param和paramValues. param 是一個用於訪問單值參數的映射, paramValues則可用於訪問可能包含多個值的參數。接下來的實驗會展示這將如何處理。
有3個首部訪問隱式對象,可以用於訪問HTTP首部,分別是header, headerValues和cookie。如果想以原始的方式訪問HTTP首部或cookie, 這些映射就很有用。
另外還有一個初始化參數訪問隱式對象:initParm。這個映射可以用於訪問初始化參數的值,初始化參數的值一般都在web.xml中設置。
類別
|
標識符
|
描述
|
JSP
|
pageContext
|
PageContext 實例對應於當前頁面的處理
|
作用域
|
pageScope
|
與頁面作用域屬性的名稱和值相關聯的 Map 類
|
requestScope
|
與請求作用域屬性的名稱和值相關聯的 Map 類
|
|
sessionScope
|
與會話作用域屬性的名稱和值相關聯的 Map 類
|
|
applicationScope
|
與應用程序作用域屬性的名稱和值相關聯的 Map 類
|
|
請求參數
|
param
|
按名稱存儲請求參數的主要值的 Map 類
|
paramValues
|
將請求參數的所有值作爲 String 數組存儲的 Map 類
|
|
請求頭
|
header
|
按名稱存儲請求頭主要值的 Map 類
|
headerValues
|
將請求頭的所有值作爲 String 數組存儲的 Map 類
|
|
Cookie
|
cookie
|
按名稱存儲請求附帶的 cookie 的 Map 類
|
初始化參數
|
initParam
|
按名稱存儲 Web 應用程序上下文初始化參數的 Map 類
|