JSP之 application config……八大內建物件
阿新 • • 發佈:2018-12-26
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 {//程式碼處理} catch(Exception e){//異常處理} 普通的jsp頁面只執行第一個部分,程式碼處理段。而出錯的頁面負責第二個部分,異常處理段。在這裡能看到一個異常物件,該物件就是內建物件exception。 在 JSP 的異常處理體系中,一個出錯頁面可以處理多個 JSP 頁面的異常。指定的異常處理頁面通過 page 指令的 errorPage 屬性確定。
四、 out物件
out物件代表一個頁面的輸出流,常常用於在頁面上輸出變數和常量。一般在使用輸出表單時的地方都可以使用out物件達到輸出的效果。
五、 pageContext物件
這個物件代表頁面上下文。組要用於訪問頁面共享資料。使用pageContext可以直接訪問request,session,application範圍的屬性,看看這些jsp的頁面: JSP 頁面使用 pageContext 物件多次設定屬性,在設定屬性時,如果沒有指定屬性存在的範圍,則屬性預設在 page 範圍內;如果指定了屬性所在的範圍,則屬性可以被存放在application,session,request 等範圍中。
六、 request物件
request 物件是 JSP 中重要的物件,每個 request 物件封裝著一次使用者請求,並且所有的請求引數都被封裝在 request 物件中。因此 request 物件也是獲取客戶端請求引數的方法。
request 物件不僅封裝了表單域值,還可以封裝位址列傳遞的引數。因此使用者也可在request 物件中增加請求屬性。
Request物件主要用在以下幾種場合:
1、 封裝表單域值
使用 request 物件來獲取表單域的值,主要有以下兩個方法:
String getParamete(String paramName): 獲取表單域的值。
String getParameterValues(String paramName): 獲取表單域的陣列值。
2、 封裝位址列引數
如果需要傳遞的引數是普通字串,而且在傳遞少量引數時,可以通過地 址欄傳遞引數。位址列傳遞引數的格式是:
urI?para ml=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值