為了簡化JSP表達式和scriptlets中的代碼提供了種自動定義的變量有時稱做implicit objects(固有對象)它們是requestresponseoutsessionapplicationconfigpageContext和 page下面我們來詳細的了解它們
request
與request相聯系的是HttpServletRequest類使您可以得到request的參數(通過getParameter方法)request 的類型(GETPOSTHEAD等等)和引入的HTTP頭(cookiesReferer等等)嚴格來說request是類ServletRequest的一個子類而不是HttpServletRequest類的事實上如果request的協議不是HTTP那麽它幾乎不會工作
response
對客戶端的response與HttpServletResponse 相連請注意因為輸出流是放入緩沖的所以可以設置HTTP狀態碼和response頭盡管在標准的servlets中不允許將之發送到客戶端
out
這裡使用PrintWriter類來發送輸出到客戶端然而為了使response對象有效可使用一個PrintWrite類的使用緩沖的版本JspWriter使用session的屬性page directive您可以自己定義緩沖的大小甚至可以在使用了buffer屬性後關閉緩沖也請注意out僅用於scriptlets之中因為JSP表達式自動的放入輸出流所以極少需要明確的聲明out
session
應用與request相聯系的HttpSession類因為session是自動創建的即使沒有一個引入的session這種變量仍可綁定有一個例外是如果您用page directive關閉session再試圖使用session時將導致錯誤(在JSP頁面向servlet轉換時)
application
使用ServeletContext類通過使用getServletConfig()getContext()得到
config
是一個ServletConfig類的對象
pageContext
這是JSP中的一個新的類PageContext用於精練特定服務器的特點時使用如提高JspWriters的執行效率如果您通過這個類訪問而不是直接的您的代碼將仍然運行在“規則”的JSP /servlet引擎
page
在JAVA中不是很有用它僅僅是用來保存在腳本的語言不是JAVA時的時間
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20310.html