JSP九大內置對象

 一、 application

該對象代表 Web 應用本身,整個 Web 應用共享同一個 application 對象,該對象主要用於在多個 JSP 頁面或 Servlet 之間共享變量。application 通過 setAttribute 方法將一個值放入某個屬性,該屬性的值對整個 Web 應用有效,因此 Web 應用的每個 JSP 頁面或Servlet 都可以訪問該屬性,訪問屬性的方法爲 getAttribute 

application 還有一個重要用處:可用於加載 Web 應用的配置參數。在web.xml寫入一些屬性,類似於hibernate或者是struts裏的配置,可以隨時調用。

二、 config對象

config對象代表當前jsp配置信息。但是一般不用,因爲jsp一般用不着配置信息,但是servlet用的情況較多。因爲servlet需要配置在web.xml中,額可以指定配置參數。

三、 exception對象

exception對象是Throwable的實例,代表jsp頁面產生的錯誤和異常,是jsp框架的一部分。在jsp頁面無需處理異常,即使該異常是checked異常。實際上jsp的異常都由錯誤頁面處理了。

比如: try {//代碼處理} catchException e{//異常處理}

普通的jsp頁面只執行第一個部分,代碼處理段。而出錯的頁面負責第二個部分,異常處理段。在這裏能看到一個異常對象,該對象就是內置對象exception

在 JSP 的異常處理體系中,一個出錯頁面可以處理多個 JSP 頁面的異常。指定的異常處理頁面通過 page 指令的 errorPage 屬性確定。

四、 out對象

out對象代表一個頁面的輸出流,常常用於在頁面上輸出變量和常量。一般在使用輸出表單時的地方都可以使用out對象達到輸出的效果。

五、 pageContext對象

這個對象代表頁面上下文。組要用於訪問頁面共享數據。使用pageContext可以直接訪問requestsessionapplication範圍的屬性,看看這些jsp的頁面:

 JSP 頁面使用 pageContext 對象多次設置屬性,在設置屬性時,如果沒有指定屬性存在的範圍,則屬性默認在 page 範圍內;如果指定了屬性所在的範圍,則屬性可以被存放在applicationsessionrequest 等範圍中。

六、 request對象

request 對象是 JSP 中重要的對象,每個 request 對象封裝着一次用戶請求,並且所有的請求參數都被封裝在 request 對象中。因此 request 對象也是獲取客戶端請求參數的方法。

request 對象不僅封裝了表單域值,還可以封裝地址欄傳遞的參數。因此用戶也可在request 對象中增加請求屬性。

Request對象主要用在以下幾種場合:

1、 封裝表單域值

使用 request 對象來獲取表單域的值,主要有以下兩個方法:

String getParamete(String paramName): 獲取表單域的值。

String getParameterValues(String paramName): 獲取表單域的數組值。

2、 封裝地址欄參數

 如果需要傳遞的參數是普通字符串,而且在傳遞少量參數時,可以通過地 址欄傳遞參數。地址欄傳遞參數的格式是:

urI?paraml=value1¶m2=value2&

 URL和參數之間用問號隔開,各個參數之間用“&”符號來隔開。

3、 封裝請求屬性

HttpServletRequest 還包含用於設置和獲取請求屬性的兩個方法:

void setAttribute(String attName , object attValue) 

object getAttribute(String attName)

七、 Response對象

response 代表服務器對客戶端的響應。大部分的時候,程序無須使用 response 來響應客戶端請求,因爲有個更簡單的響應對象——out,它是頁面輸出流,是 JstWriter 的實例。JspWriter 是 Writer 的子類, Writer 是字符流,不能輸出字節。

假如需要在 JSP 頁面中動態生成一幅位圖,使用 out 作爲響應將無法完成,此時必須使用 response 作爲響應輸出。除此之外,還可以使用 response 來重定向請求,以及用於向客戶端增加 Cookie 

以下是response的幾個作用:

1、 Response響應生成圖片

2、 重定向

重定向是 response 的另外一個用處,與 forward 不同的是,重定向會丟失所有的請求參數及請求屬性。

response.sendRedirect("XXXX.jsp"):

使用重定向指令時,地址欄的地址會變成重定向的地址。

3、 增加cookie

Cookie 與 session 的不同之處在於: session 關閉瀏覽器後就失效,但是cookie會一直保存在客戶機上除非它超過生命週期。

八、 Session對象

Session 對象也是一個非常常用的對象,這個對象代表一次用戶會話。一次用戶會話的含義是:從客戶端瀏覽器連接服務器開始,到客戶端瀏覽器與服務器斷開爲止,這個過程就是一次會話。

Session 通常用於跟蹤用戶的會話信息,如判斷用戶是否登錄系統,或者在購物車應用中,系統是否跟蹤用戶購買的商品等。

Session 裏的屬性可以在多個頁面的跳轉之間共享。一旦關閉瀏覽器,即session 結束, session 裏的屬性將全部清空。

Session的兩個常用方法:

setAttribute(String name,Object value) 設置一個session屬性

getAttribute(String name) 獲取一個session

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