1. 程式人生 > >JSP內建物件(一)

JSP內建物件(一)

  為了簡化web開發,在JSP中定義了一些由JSP容器實現和管理的內建物件,這些物件可以直接在JSP頁面中使用,而不需要JSP頁面編寫者對他們進行例項化。

request物件

  用來獲取客戶端的資訊,例如我們在表單標籤中填寫的資訊等。JSP容器會將客戶端的請求封裝在request中。在客戶端發出請求是會建立request物件,在請求結束後,則銷燬request物件。
  request物件是由 javax.servlet.http.HttpServletRequest 類的例項,作用域為 request,常用方法有:

方法名 描述 返回值型別
getAttribute(String name) 獲取指定的屬性 Object
setAttribute(String name,Object value) 將指定的屬性的值設為Value void
getParameter(String name) 獲取請求引數名為name的引數值 String
getParameterValues() 獲取name請求引數的值 String[]
getParameterMap() 獲取所有請求引數名和請求引數值所組成的Map物件 Map
setCharacterEncoding(String encoding) 設定請求編碼 void

response物件

  response物件包含了從JSP頁面返回客戶端所有的資訊,response物件經常用於設定HTTP標題,新增Cookie,設定響應內容的型別和狀態,傳送HTTP重定向和編碼URL。
  response物件是由 javax.servlet.http.HttpServletResponse 類的例項,作用域為 page,常用方法有:

方法名 描述 返回值型別
addCookie(Cookie cookie) 新增一個Cookie物件,用於在客戶端儲存特定的資訊 void
addHeader(String name,String value) 新增HTTP頭資訊,該Header資訊將傳送到客戶端 viod
containsHeader(String name) 用於判斷指定名字的HTTP檔案頭是否存在 void
sendError(int errorCode) 向客戶端傳送錯誤的狀態碼 void
sendRedirect(String url) 重定向JSP檔案 void
setContentType(String contentType) 設定MIME型別與編碼方式 void

out物件

  out物件是一個緩衝的輸出流,用來向客戶端返回資訊。由於向客戶端輸出時要進行連線,所有總是採用緩衝輸出的方式,因此out是緩衝輸出流。
  out物件是由 javax.servlet.jsp.JspWriter 類的例項,作用域為 page,常用方法有:

方法名 描述 返回值型別 異常
clear() 清楚緩衝的內容,但不把資料輸出到客戶端 void java.io.IOException
clearBuffer() 清楚緩衝區中的內容,同時將資料輸出到客戶端 void java.io.IOException
close() 關閉緩衝區並輸出緩衝區中的資料 void java.io.IOException
flush() 輸出緩衝區的資料 void java.io.IOException
getBufferSize() 獲取緩衝區的大小 int
getRemaining() 獲取剩餘緩衝區的大小 int
isAutoFlush() 緩衝區是否進行自動清除 Boolean
newLine() 輸出一個換行符 void java.io.IOException
print(String str) 向客戶端輸出資料 void java.io.IOException
pringln(String str) 向客戶端輸出資料並換行 void java.io.IOException

session物件

  session物件是會話物件,用來記錄每個客戶端訪問的狀態。所謂的會話指的是從一個客戶端開啟瀏覽器與伺服器建立連線,到這個客戶端關閉瀏覽器與伺服器斷開連線的過程。
session物件是 javax.servlet.http.HttpSession 類的例項,作用域為 page,常用方法:

方法名 描述 返回值
getAttribute(String name) 獲取session範圍內的name值 Object
aetAttribute(String name,Object value) 設定session範圍內name屬性的值為value void
removeAttribute(String name) 刪除session範圍內name屬性的值 void
getAttributeNames() 獲取所有session物件中存放的屬性名 Enumeration
getCreationTime() 返回session被建立的時間 long
getId() 返回session建立時JSP容器所設定唯一標示 String
getLastAccessedTime() 返回使用者最後一次通過session傳送請求的時間,單位為毫秒 long
getMaxInactiveInterval() 返回session失效的時間,即兩次請求間隔多長時間該session就被取消,單位為秒 int
isNew() 判斷是否為新的session Boolean
invalidate() 清空session的內容 void

application物件

  application物件用於獲取和設定Servlet的相關資訊,它的生命週期是從伺服器啟動知道伺服器關閉為止。
  application物件 javax.servlet.ServletContext 類的例項,作用域 application,常用方法:

方法 描述 返回
setAttribute(Stirng name,Object value) 以鍵值對的方式,將一個物件的值放到application中 void
getAttribute(String name) 根據屬性名獲取application中存放的值 void