JSP 九大內置對象詳解
內置對象特點:
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)會話對象存儲有關此會話的信息,也可以將屬性賦給一個會話,每個屬性都有名稱和值。會話對象主要用於存儲和檢索屬性值。
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 |
存儲了運行JSP頁面的servlet以及在同一應用程序中的任何Web組件的上下文信息 |
getAttribute() setAttribute() removeAttribute() |
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()…………
|
JSP 九大內置對象詳解