JSP的九大內建對象與四大範圍(詳解)

來源:互聯網
上載者:User

jsp四大範圍:
page:當前頁面,也就是只要跳到別的頁面就失效了
request:一次會話,簡單的理解就是一次請求範圍內有效
session:瀏覽器進程,只要當前頁面沒有被關閉(沒有被程式強制清除),不管怎麼跳轉都是有效
application:伺服器,只要伺服器沒有重啟(沒有被程式強制清除),資料就有效

內建對象特點:

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)

方法名

說明

print或println

輸出資料

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)會話Object Storage Service有關此會話的資訊,也可以將屬性賦給一個會話,每個屬性都有名稱和值。會話對象主要用於儲存和檢索屬性值。

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()…………

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.