JSP 9 大內建物件詳解

職業驅魔師發表於2013-07-17

 

內建物件特點:

1.            JSP規範提供,不用編寫者例項化。

2.            通過Web容器實現和管理

3.            所有JSP頁面均可使用

4.            只有在指令碼元素的表示式或程式碼段中才可使用(<%=使用內建物件%><%使用內建物件%>)

 常用內建物件:

1.            輸出輸入物件:request物件、response物件、out物件

2.            通訊控制物件:pageContext物件、session物件、application物件

3.            Servlet物件:page物件、config物件

4.            錯誤處理物件:exception物件

 

物件常用方法說明:

1.out物件(資料流 javax.servlet.jsp.jspWriter)

方法名

說明

printprintln

輸出資料

newLine

輸出換行字元

flush

輸出緩衝區資料

close

關閉輸出流

clear

清除緩衝區中資料,但不輸出到客戶端

clearBuffer

清除緩衝區中資料,輸出到客戶端

getBufferSize

獲得緩衝區大小

getRemaining

獲得緩衝區中沒有被佔用的空間

isAutoFlush

是否為自動輸出

2.request物件(請求資訊 javax.servlet.http.HttpServletrequest)

方法名

說明

isUserInRole

判斷認證後的使用者是否屬於某一成員組

getAttribute

獲取指定屬性的值,如該屬性值不存在返回Null

getAttributeNames

獲取所有屬性名的集合

getCookies

獲取所有Cookie物件

getCharacterEncoding

獲取請求的字元編碼方式

getContentLength

返回請求正文的長度,如不確定返回-1

getHeader

獲取指定名字報頭值

getHeaders

獲取指定名字報頭的所有值,一個列舉

getHeaderNames

獲取所有報頭的名字,一個列舉

getInputStream

返回請求輸入流,獲取請求中的資料

getMethod

獲取客戶端向伺服器端傳送資料的方法

getParameter

獲取指定名字引數值

getParameterNames

獲取所有引數的名字,一個列舉

getParameterValues

獲取指定名字引數的所有值

getProtocol

獲取客戶端向伺服器端傳送資料的協議名稱

getQueryString

獲取以get方法向伺服器傳送的查詢字串

getRequestURI

獲取發出請求字串的客戶端地址

getRemoteAddr

獲取客戶端的IP地址

getRemoteHost

獲取客戶端的名字

getSession

獲取和請求相關的會話

getServerName

獲取伺服器的名字

getServerPath

獲取客戶端請求檔案的路徑

getServerPort

獲取伺服器的埠號

removeAttribute

刪除請求中的一個屬性

setAttribute

設定指定名字引數值

 

3.response物件(響應 javax.servlet.http.HttpServletResponse)

方法名

說明

addCookie

新增一個Cookie物件

addHeader

新增Http檔案指定名字頭資訊

containsHeader

判斷指定名字Http檔案頭資訊是否存在

encodeURL

使用sessionid封裝URL

flushBuffer

強制把當前緩衝區內容傳送到客戶端

getBufferSize

返回緩衝區大小

getOutputStream

返回到客戶端的輸出流物件

sendError

向客戶端傳送錯誤資訊

sendRedirect

把響應傳送到另一個位置進行處理

setContentType

設定響應的MIME型別

setHeader

設定指定名字的Http檔案頭資訊

4.session物件(會話 javax.servlet.http.HttpSession)

方法名

說明

getAttribute

獲取指定名字的屬性

getAttributeNames

獲取session中全部屬性名字,一個列舉

getCreationTime

返回session的建立時間

getId

獲取會話識別符號

getLastAccessedTime

返回最後傳送請求的時間

getMaxInactiveInterval

返回session物件的生存時間單位千分之一秒

invalidate

銷燬session物件

isNew

每個請求是否會產生新的session物件

removeAttribute

刪除指定名字的屬性

setAttribute

設定指定名字的屬性值

5.pageContext物件(頁面上下文 javax.servlet.jsp.PageContext)

方法名

說明

forward

重定向到另一頁面或Servlet元件

getAttribute

獲取某範圍中指定名字的屬性值

findAttribute

按範圍搜尋指定名字的屬性

removeAttribute

刪除某範圍中指定名字的屬性

setAttribute

設定某範圍中指定名字的屬性值

getException

返回當前異常物件

getRequest

返回當前請求物件

getResponse

返回當前響應物件

getServletConfig

返回當前頁面的ServletConfig物件

getServletContext

返回所有頁面共享的ServletContext物件

getSession

返回當前頁面的會話物件

 

6.application物件(應用程式 javax.servlet.ServletContext)

方法名

說明

getAttribute

獲取應用物件中指定名字的屬性值

getAttributeNames

獲取應用物件中所有屬性的名字,一個列舉

getInitParameter

返回應用物件中指定名字的初始引數值

getServletInfo

返回Servlet編譯器中當前版本資訊

setAttribute

設定應用物件中指定名字的屬性值

7.config物件(Servlet的配置資訊 javax.servlet.ServletConfig)

方法名

說明

getServletContext

返回所執行的Servlet的環境物件

getServletName

返回所執行的Servlet的名字

getInitParameter

返回指定名字的初始引數值

getInitParameterNames

返回該JSP中所有的初始引數名,一個列舉

8.page物件(當前JSP的例項,java.lang.object)

它代表JSP被編譯成Servlet,可以使用它來呼叫Servlet類中所定義的方法

9.exception物件(執行時的異常,java.lang.Throwable)

被呼叫的錯誤頁面的結果,只有在錯誤頁面中才可使用,

即在頁面指令中設定:<%@page isErrorPage=true%>

 

Request(Javax.servlet.ServletRequest)它包含了有關瀏覽器請求的資訊.通過該物件可以獲得請求中的頭資訊、Cookie和請求引數。

Response(Javax.servlet.ServletResponse)作為JSP頁面處理結果返回給使用者的響應儲存在該物件中。並提供了設定響應內容、響應頭以及重定向的方法(如cookies,頭資訊等)

Out(Javax.servlet.jsp.JspWriter)用於將內容寫入JSP頁面例項的輸出流中,提供了幾個方法使你能用於向瀏覽器回送輸出結果。

pageContext(Javax.servlet.jsp.PageContext)描述了當前JSP頁面的執行環境。可以返回JSP頁面的其他隱式物件及其屬性的訪問,另外,它還實現將控制權從當前頁面傳輸至其他頁面的方法。

Session(javax.servlet.http.HttpSession)會話物件儲存有關此會話的資訊,也可以將屬性賦給一個會話,每個屬性都有名稱和值。會話物件主要用於儲存和檢索屬性值。

Application(javax.servle.ServletContext)儲存了執行JSP頁面的servlet以及在同一應用程式中的任何Web元件的上下文資訊。

Page(Java.lang.Object)表示當前JSP頁面的servlet例項

Config(javax.servlet.ServletConfig)該物件用於存取servlet例項的初始化引數。

Exception(Javax.lang.Throwable)在某個頁面丟擲異常時,將轉發至JSP錯誤頁面,提供此物件是為了在JSP中處理錯誤。只有在錯誤頁面中才可使用<%@page isErrorPage=true%>

 

Jsp內建物件

功能

主要方法

out

向客戶端輸出資料

print() println() flush() clear() isAutoFlush() getBufferSize()   close() …………

request

向客戶端請求資料

getAttributeNames() getCookies() getParameter() getParameterValues() setAttribute() getServletPath() …………..

response

封裝了jsp產生的響應,然後被髮送到客戶端以響應客戶的請求

addCookie() sendRedirect() setContentType()

flushBuffer() getBufferSize() getOutputStream()

sendError() containsHeader()……………

application

 

 

config

表示Servlet的配置,當一個Servlet初始化時,容器把某些資訊通過此物件傳遞給這個Servlet

getServletContext() getServletName() getInitParameter()   getInitParameterNames()……………

page

Jsp實現類的例項,它是jsp本身,通過這個可以對它進行訪問

flush()………

pagecontext

為JSP頁面包裝頁面的上下文。管理對屬於JSP中特殊可見部分中己經命名物件的該問

forward() getAttribute() getException() getRequest() getResponse()   getServletConfig()

getSession() getServletContext() setAttribute()

removeAttribute() findAttribute() ……………

session

用來儲存每個使用者的資訊,以便跟蹤每個使用者的操作狀態

getAttribute() getId()   getAttributeNames() getCreateTime() getMaxInactiveInterval()

invalidate() isNew()

exception

反映執行的異常

getMessage()…………

相關文章