【摘要】 java
隱藏對象用在jsp表達式和腳本中,不能直接用在jsp聲明中,由於這些隱藏對象是容器在jspservice方法中定義的,在這個方法中定義的變量不能在jsp聲明中使用。能夠經過參數方法將隱藏對象傳遞到jsp聲明自定義的方法中,並且自定義的方法必需要拋異常。web
域範圍從小到大: pageContext request session application 瀏覽器
表明 HttpServletResponse 的: response
表明 ServletConfig 的: config
表明 JspWriter 的: out
表明當前 jsp 頁面生成的 Servlet 的實例的: page (Object page = this)
帶頁面指定 isErrorPage=true 時的: Exception 服務器
============================================JSP內置9個隱藏對象============================================cookie
1.out輸出流對象session
隱藏對象out是javax.servlet.jsp.JspWriter類的實例。服務器向客戶端輸出的字符類內容能夠經過out對象輸出。app
2.request 請求對象jsp
隱藏對象request是javax.servlet.ServletRequest類的實例。表明客戶端的請求。request包含客戶端的信息以及請求的信息,如請求哪一個文件,附帶的地址欄參數等。每次客戶端請求都會產生一個request實例。this
3.response 響應對象spa
隱藏對象response是javax.servlet.ServletResponse類的實例,表明服務器端的響應。服務器端的任何輸出都是經過response對象發送到客戶端瀏覽器。每次服務器端都會產生一個response實例。
4.config 配置對象
隱藏對象config是javax.servlet.ServletConfig類的實例,ServletConfig封裝了配置在web.xml中初始化JSP的參數。JSP中經過config獲取這些參數。每一個JSP文件都有一個config對象。
5.session 會話對象
隱藏對象session是javax.servlet.http.HttpSession類的實例。session與cookie是記錄客戶訪問信息的兩種機制,session用於服務器端保存用戶信息,cookie用於客戶端保存用戶信息。
Servlet經過request.getSession()獲取session對象,而在JSP中能夠直接使用。若是JSP中配置了<%@ page session="false" %>,則隱藏對象session不可用。每一個用戶對應一個session對象。
6.application 應用程序對象
隱藏對象application是javax.servlet.ServletContext類的對象。application封裝了JSP所在的Web應用程序的信息,例如web.xml中配置的全局的初始化信息。Servlet中application對象經過ServletConfig.getServletContext()來獲取。整個Web應用程序對應一個application對象。
7.page 頁面對象
隱藏對象page爲javax.servlet.jsp.HttpJspPage類的實例,page對象表明當前JSP頁面,是當前JSP編譯後的Servlet類的對象。page至關於普通java類中的關鍵字this。
8.pageContext 頁面上下文對象
隱藏對象pageContext爲javax.servlet.jsp.PageContext類的實例。pageContext對象表明當前JSP頁面編譯後的內容。經過pageContext可以獲取到JSP中的資源。
9.exception 異常對象
隱藏對象exception爲java.lang.Exception類的對象。exception封裝了JSP中拋出的異常信息。要使用exception對象,須要設置<%@ page isErrorPage="true" %>。隱藏對象exception一般被用來處理錯誤頁面。