JSP九大內置對象和JSP/Servlet作用域

一、九大內置對象

request HttpServletRequest

response HttpServletResponse
session HttpSession
application ServletcContext
out       JspWriter(帶緩衝的PrintWriter)
pageContext (使普通Java類可訪問WEB資源自定義標籤常用)
exception (特殊情況下使用)
page     this(本JSP頁面)

config   ServletConfig

二、詳解:

1.Request對象叫請求。請求中封裝了客戶端所有的信息(cookies,session,表單數據、瀏覽器信息)

常用方法:


2.Response 對象叫響應,服務器端向客戶端的請求作出響應。

常用方法:
     response.sendRedirect("index.jsp");   //頁面的重定向,跳轉到首頁去。注意,地址欄會改變。因爲針對於客戶端來說,一共發生了兩次請求。
設置服務器端響應的字符編碼:response.setCharacterEncoding(“utf-8”);

3.Session對象叫會話:每一個瀏覽器訪問網站,服務器就會給這個請求創建一個會話。存儲到服務器端,服務器根據每一個會話的ID來區分每一個請求的用戶。

常用方法:

注意:

Session中存儲的數據可以是任意類型。存儲位置在服務器端,安全性比較高。在同一臺電腦中,不同的瀏覽器也認爲是不同的用戶,也會分配一個SesionID。
Session 會隨着瀏覽器關閉而失效。但請注意,Session還會保留在服務端,一直要到設定的時間,才真正的銷燬。

4.Application對象整個應用程序只有一個,所有的用戶都可以訪問到,安全性較高。隨應用程序啓動就產生了,一直保存在服務器端,要到應用程序關閉,才銷燬。
通常用於存儲一些所有用戶都需要的數據

5.out內置對象用於向客戶端發送文本數據。 
out對象是通過調用pageContext對象的getOut方法返回的,其作用和用法與ServletResponse.getWriter方法返回的PrintWriter對象非常相似。 
JSP頁面中的out內置對象的類型爲JspWriter,JspWriter相當於一種帶緩存功能的PrintWriter,設置JSP頁面的page指令的buffer屬性可以調整它的緩存大小,甚至關閉它的緩存。 

只有向out對象中寫入了內容,且滿足如下任何一個條件時,out對象纔去調用ServletResponse.getWriter方法,並通過該方法返回的PrintWriter對象將out對象的緩衝區中的內容真正寫入到Servlet引擎提供的緩衝區中:

設置page指令的buffer屬性關閉了out對象的緩存功能
out對象的緩衝區已滿
整個JSP頁面結束

三、作用域

pageContext(稱之爲page域) :存放的數據在當前頁面有效。開發時使用較少。
request(稱之爲request域):一個請求,每一次與服務器的交互都是一次新的請求。
session(稱之爲session域):只在SessionID有效,則隨時可以訪問。與請求無關。
servletContext(稱之爲application域):存放的數據在整個應用範圍內都有效。因爲範圍太大,應儘量少用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章