1. 程式人生 > >JSP(Java Server Pages)內建物件

JSP(Java Server Pages)內建物件

request物件
(1)訪問請求引數
處理HTTP請求中的各項引數。在這些引數中,最常用的就是獲取訪問請求引數。當通過超連結的形式傳送請求時,可以為該請求傳遞引數,這可以通過在超連結的後面加上問好“?”來實現,例如如下的例子,傳送一個請求到delete.jsp頁面,並傳遞一個名稱為id的引數:

改頁面的作用是在檔案中新增一個用於連結到deal.jsp頁面的超連結,並傳遞兩個引數。

通過request物件的getParameter()方法獲取請求引數id,user,pwd並輸出,對於不存在的引數返回null。

(2)在作用域中管理屬性
在進行請求時,需要把一些資料傳遞到轉發後的頁面進行處理。這時就需要使用request物件的setAttribute()方法將資料儲存到request範圍內的變數中。

name:變數名,String型別,在轉發後的頁面取資料時,就是根據這個變數名來獲取資料。
object:用於指定需要在request範圍內傳遞的資料,為Object型別

在資料儲存到request範圍內的變數中後,可以通過request物件的getAttribute()方法獲取變數的值:

例如如下例子

這裡寫圖片描述

(3)獲取cookie

cookie是小段的文字資訊,在網路伺服器上生成併發送給瀏覽器。通過使用cookie可以標識使用者身份,記錄使用者名稱和密碼,跟蹤重複使用者。瀏覽器將cookie以key/value的形式儲存到客戶機的指定目錄中。

例如,通過cookie儲存並讀取使用者登入資訊:

(4)解決中文亂碼問題
有時請求引數的文字編碼方式與頁面中的不一致會導致亂碼問題,因為所有的request請求都是ISO-8859-1的,而有時頁面採用的是UTF-8的編碼方式。要解決此問題,學好英語的方法只要將獲取到的資料通過String的構造方法使用指定的編碼型別重新構造一個String物件,即可正確的顯示出中文資訊。例如:

response物件
response物件用於響應客戶的請求,向客戶端輸出資訊。它封裝了JSP產生的響應,併發送到客戶端以響應客戶端的請求。請求的資料可以是各種資料型別,甚至是檔案。response物件在JSP頁面內有效。
(1)重定向網頁
使用response物件提供的sendRedirect()方法可以將網頁重定向到另一個頁面。重定向操作支援將地址重定向到不同的主機上,這點不同於轉發(< jsp:forward>)。在客戶端上將會得到跳轉的地址,並重新發送請求連線。進行重定向操作後,request中的屬性全部失效,並開始一個新的request物件。

預設執行的是index.jsp介面,在index.jsp介面中呼叫response物件的setRedirect()方法重定向頁面到使用者登入介面login.jsp。

(2)處理HTTP檔案頭

禁用快取

設定頁面自動重新整理

使網頁每隔10秒重新整理一次

定時網頁跳轉

session物件

session在網路中稱為會話。由於HTTP請求是一種無狀態請求,當一個客戶向伺服器發出請求,伺服器接收請求,並返回響應,該連結就結束了,而伺服器並不儲存相關資訊。為了彌補這一缺點,HTTP協議提供了session。通過session可以在應用程式的Web頁面間進行跳轉,儲存使用者的狀態,使整個使用者會話一直存在下去,知道關閉瀏覽器。GPA但是,在一個會話中,客戶端穿長時間不向伺服器發出請求,session物件就會自動消失。Request 是在一次請求範圍,Session 是在一次會話中,也就是說,你從一開始進入頁面到你離開頁面時,都屬於一次會話當中,也就是說它的作用範圍比Request要廣,你在任何頁面都可以用session.getAttribute(“values”);得到values的值
通過session物件可以儲存或讀取客戶相關的資訊。可以通過setAttribute()方法和getAttribute()方法實現。例如:

在index.jsp介面提供輸入使用者名稱文字框

在session.jsp介面中,將使用者在index.jsp頁面中輸入的使用者名稱儲存在session物件中,併為使用者提供用於新增最想去的地址的文字框

在result.jsp頁面中,實現顯示使用者輸入的使用者名稱與最喜歡去的地方

application物件

application物件用於儲存所用應用程式中的公有資料。它在伺服器啟動時自動建立,在伺服器停止時銷燬。當application物件沒有被銷燬時,所有的使用者都可以共享application物件。與session物件相比,application物件的生命週期更長,類似於系統的“全域性變數”。