九大內置對象: 內置對象(又叫隱含對象),就是在jsp中,不需要創建(由伺服器<容器>來創建),可以直接使用的對象。 對象含義類作用域 request 請求對象 類型 javax.servlet.ServletRequest 作用域 Request response 響應對象 類型 javax.se ...
九大內置對象:
內置對象(又叫隱含對象),就是在jsp中,不需要創建(由伺服器<容器>來創建),可以直接使用的對象。
對象 | 含義 | 類 | 作用域 |
---|---|---|---|
request | 請求對象 | 類型 javax.servlet.ServletRequest | 作用域 Request |
response | 響應對象 | 類型 javax.servlet.ServletResponse | 作用域 page |
pageContext | 頁面上下文對象 | 類型 javax.servlet.jsp.PageContext | 作用域 page |
session | 會話對象 | 類型 javax.servlet.http.HttpSession | 作用域 Session |
application | 應用程式對象 | 類型 javax.servlet.ServletContext | 作用域 Application |
out | 輸出對象 | 類型 javax.servlet.jsp.JspWriter | 作用域 page |
config | 配置對象 | 類型 javax.servlet.ServletConfig | 作用域 page |
page | 頁面對象 | 類型 java.lang.Object | 作用域 page |
exception | 例外對象 | 類型 java.lang.Throwable | 作用域 page |
JSP九大內置對象分為四類:
- 輸入輸出對象:out對象、response對象、request對象
- 通信控制對象:pageContext對象、session對象、application對象
- Servlet對象: page對象、config對象
- 錯誤處理對象:exception對象
* 九種對象簡介:
- out對象:用於向客戶端、瀏覽器輸出數據。
- request對象:封裝了來自客戶端、瀏覽器的各種信息。
- response對象:封裝了伺服器的響應信息
- exception對象:封裝了jsp程式執行過程中發生的異常和錯誤信息。
- config對象:封裝了應用程式的配置信息。
- page對象:指向了當前jsp程式本身。
- session對象:用來保存會話信息。也就是說,可以實現在同一用戶的不同請求之間共用數
- application對象:代表了當前應用程式的上下文。可以在不同的用戶之間共用信息。
- pageContext對象:提供了對jsp頁面所有對象以及命名空間的訪問。
四大作用域
下麵我們就通過一張簡單的表格來看看各大作用域的信息共用範圍:
作用域對象名 | 對應的介面名 | 對象名 | 作用範圍 |
---|---|---|---|
頁面域 | PageContext | pageContext | 一個頁面 |
請求域 | HttpServletRequest | request | 一個用戶的一次請求 |
會話域 | HttpSession | session | 一個用戶的所有請求 |
上下文域 | ServletContext | application | 所有用戶的所有請求 |
第一個作用域是page,他只在當前頁面有效,也就是用戶請求的頁面有效,噹噹前頁面關閉或轉到其他頁面時,page對象將在響應回饋給客戶端後釋放。
第二個作用域是request,他在當前請求中有效,request可以通過setAttribute()方法實現頁面中的信息傳遞,也可以通過forward()方法進行頁面間的跳轉,需要註意的是request是轉發不是重定向,轉發相對於瀏覽器來說是透明的,也就是無論頁面如何跳轉,地址欄上顯示的依舊是最初的地址。
第三個作用域是session,他在當前回話中有效。當一個臺電腦上的同一瀏覽器對伺服器進行多次訪問時,在這多次訪問之間傳遞的信息就是session作用域的範圍。它從瀏覽器發出第一個HTTP請求即可認為會話開始,但是會話結束的時間是不確定的,因為在瀏覽器關閉時並不會通知伺服器,一般Tomcat設置的預設時間為120分鐘,也可以通過setMaxInactiveInterval(int)方法進行設置,或是通過invalidate()方法強制結束當前會話。
第四個作用域是application,他在所有的應用程式中都有效,也就是當伺服器開始到伺服器結束這段時間,application作用域中存儲的數據都是有效的,同樣可以通過setAttribute賦值和getAttribute取值。