jsp提供了的9個內置對象

下面jsp的9大內置對象方法說明 

內置對象 類型 做用域  
request javax.servlet.http.HttpServletRequest request 
response javax.servlet.http.HttpServletResponse response 
pageContext javax.servlet.jsp.PageContext page 
session javax.servlet.http.HtpSession session 
application javax.servlet.jsp.ServletContext application 
out javax.servlet.jsp.JspWriter page 
config javax.servlet.ServletConfig page 
page java.lang.Object page 
exception java.lang.Throwable page 

根據它們的做用進行分類 : 
第一類:與Servlet有關:page和config 
第二類:與Input/Output有關:out,request和response 
第三類:與Context有關:application,session和pageContext 
第四類:與Error有關:exceptio 
對象做用範圍 : 
一、page:就是設置的屬性只能在當前頁面有效。經過pageContext的setAttribute()和getAttribute()。 
二、request:指屬性在一次請求範圍內有效。若是頁面從給一個頁面跳轉到另外一個頁面,那麼該屬性就失效了。這裏所指的跳轉是指客戶端跳轉,好比客戶單擊超連接跳轉到其餘頁面或者經過瀏覽器地址欄瀏覽其餘頁面。若是使用服務器端跳轉<jsp:forward>,則該屬性仍然生效。同理使用request對象的setAttribute()和getAttribute()。 
三、session:指客戶瀏覽器與服務器一次會話範圍內,若是服務器斷開鏈接,那麼屬性就失效了。同理經過session對象的setAttribute()和getAttribute()。session範圍的例外好比從新打開一個瀏覽器。 
四、application:指在整個服務器範圍,知道服務器中止之後纔會失效。同理經過application對象的setAttribute()和getAttribute()。application範圍就是保存的屬性只要服務器不重啓,就能在任意頁面中獲取,就算從新打開瀏覽器也是能夠獲取屬性的。 
9大對象方法說明 : 
1.request對象  
客戶端的請求信息被封裝在request對象中,經過它才能瞭解到客戶的需求, 
而後作出響應。它是HttpServletRequest類的實例。 

objectgetAttribute(Stringname) 返回指定屬性的屬性值 
EnumerationgetAttributeNames() 返回全部可用屬性名的枚舉 
StringgetCharacterEncoding() 返回字符編碼方式 
intgetContentLength() 返回請求體的長度(以字節數) 
StringgetContentType() 獲得請求體的MIME類型 
ServletInputStreamgetInputStream() 獲得請求體中一行的二進制流 
StringgetParameter(Stringname) 返回name指定參數的參數值 
EnumerationgetParameterNames() 返回可用參數名的枚舉 
String[]getParameterValues(Stringname) 返回包含參數name的全部值的數組 
StringgetProtocol() 返回請求用的協議類型及版本號 
StringgetScheme() 返回請求用的計劃名,如:http.https及ftp等 
StringgetServerName() 返回接受請求的服務器主機名 
intgetServerPort() 返回服務器接受此請求所用的端口號 
BufferedReadergetReader() 返回解碼過了的請求體 
StringgetRemoteAddr() 返回發送此請求的客戶端IP地址 
StringgetRemoteHost() 返回發送此請求的客戶端主機名 
voidsetAttribute(Stringkey,Objectobj) 設置屬性的屬性值 
StringgetRealPath(Stringpath) 返回一虛擬路徑的真實路徑 

3.session對象  
session對象指的是客戶端與服務器的一次會話,從客戶連到服務器的一個 
WebApplication開始,直到客戶端與服務器斷開鏈接爲止。它是HttpSession 
類的實例. 
序號方法說明 

longgetCreationTime() 返回SESSION建立時間 
publicStringgetId() 返回SESSION建立時JSP引擎爲它設的唯一ID號 
longgetLastAccessedTime() 返回此SESSION裏客戶端最近一次請求時間 
intgetMaxInactiveInterval() 返回兩次請求間隔多長時間此SESSION被取 
String[]getValueNames() 返回一個包含此SESSION中全部可用屬性的數組 
voidinvalidate() 取消SESSION,使SESSION不可用 
booleanisNew() 返回服務器建立的一個SESSION,客戶端是否已經加入 
voidremoveValue(Stringname) 刪除SESSION中指定的屬性 
voidsetMaxInactiveInterval() 設置兩次請求間隔多長時間此SESSION被取消(ms) 

4.out對象  

out對象是JspWriter類的實例,是向客戶端輸出內容經常使用的對象 
序號方法說明 
voidclear() 清除緩衝區的內容 
voidclearBuffer() 清除緩衝區的當前內容 
voidflush() 清空流 
intgetBufferSize() 返回緩衝區以字節數的大小,如不設緩衝區則爲0 
intgetRemaining() 返回緩衝區還剩餘多少可用 
booleanisAutoFlush() 返回緩衝區滿時,是自動清空仍是拋出異常 
voidclose() 關閉輸出流 

5.page對象  

page對象就是指向當前JSP頁面自己,有點象類中的this指針,它是 
java.lang.Object類的實例序號方法說明 
classgetClass 返回此Object的類 
inthashCode() 返回此Object的hash碼 
booleanequals(Objectobj) 判斷此Object是否與指定的Object對象相等 
voidcopy(Objectobj) 把此Object拷貝到指定的Object對象中 
Objectclone() 克隆此Object對象 
StringtoString() 把此Object對象轉換成String類的對象 
voidnotify() 喚醒一個等待的線程 
voidnotifyAll() 喚醒全部等待的線程 
voidwait(inttimeout) 使一個線程處於等待直到timeout結束或被喚醒 
voidwait() 使一個線程處於等待直到被喚醒 
voidenterMonitor() 對Object加鎖 
voidexitMonitor() 對Object開鎖 

6.application對象  
application對象實現了用戶間數據的共享,可存放全局變量。它開始於服務器 
的啓動,直到服務器的關閉,在此期間,此對象將一直存在;這樣在用戶的前 
後鏈接或不一樣用戶之間的鏈接中,能夠對此對象的同一屬性進行操做;在任何 
地方對此對象屬性的操做,都將影響到其餘用戶對此的訪問。服務器的啓動和 
關閉決定了application對象的生命。它是ServletContext類的實例。 

ObjectgetAttribute(Stringname) 返回給定名的屬性值 
EnumerationgetAttributeNames() 返回全部可用屬性名的枚舉 
voidsetAttribute(Stringname,Objectobj) 設定屬性的屬性值 
voidremoveAttribute(Stringname) 刪除一屬性及其屬性值 
StringgetServerInfo() 返回JSP(SERVLET)引擎名及版本號 
StringgetRealPath(Stringpath) 返回一虛擬路徑的真實路徑 
ServletContextgetContext(Stringuripath) 返回指定WebApplication的application對象 
intgetMajorVersion() 返回服務器支持的ServletAPI的最大版本號 
intgetMinorVersion() 返回服務器支持的ServletAPI的最大版本號 
StringgetMimeType(Stringfile) 返回指定文件的MIME類型 
URLgetResource(Stringpath) 返回指定資源(文件及目錄)的URL路徑 
InputStreamgetResourceAsStream(Stringpath) 返回指定資源的輸入流 
RequestDispatchergetRequestDispatcher(Stringuripath) 返回指定資源的RequestDispatcher對象 
ServletgetServlet(Stringname) 返回指定名的Servlet 
EnumerationgetServlets() 返回全部Servlet的枚舉 
EnumerationgetServletNames() 返回全部Servlet名的枚舉 
voidlog(Stringmsg) 把指定消息寫入Servlet的日誌文件 
voidlog(Exceptionexception,Stringmsg) 把指定異常的棧軌跡及錯誤消息寫入Servlet的日誌文件 
voidlog(Stringmsg,Throwablethrowable) 把棧軌跡及給出的Throwable異常的說明信息寫入Servlet的日誌文件 

7.exception對象  
exception對象是一個例外對象,當一個頁面在運行過程當中發生了例外,就產 
生這個對象。若是一個JSP頁面要應用此對象,就必須把isErrorPage設爲true, 
不然沒法編譯。他其實是java.lang.Throwable的對象 

StringgetMessage() 返回描述異常的消息 
StringtoString() 返回關於異常的簡短描述消息 
voidprintStackTrace() 顯示異常及其棧軌跡 
ThrowableFillInStackTrace() 重寫異常的執行棧軌跡 

8.pageContext對象  
pageContext對象提供了對JSP頁面內全部的對象及名字空間的訪問,也就是 
說他能夠訪問到本頁所在的SESSION,也能夠取本頁面所在的application的 
某一屬性值,他至關於頁面中全部功能的集大成者,它的本類名也叫 
pageContext。 

JspWritergetOut() 返回當前客戶端響應被使用的JspWriter流(out) 
HttpSessiongetSession() 返回當前頁中的HttpSession對象(session) 
ObjectgetPage() 返回當前頁的Object對象(page) 
ServletRequestgetRequest() 返回當前頁的ServletRequest對象(request) 
ServletResponsegetResponse() 返回當前頁的ServletResponse對象(response) 
ExceptiongetException() 返回當前頁的Exception對象(exception) 
ServletConfiggetServletConfig() 返回當前頁的ServletConfig對象(config) 
ServletContextgetServletContext() 返回當前頁的ServletContext對象(application) 
voidsetAttribute(Stringname,Objectattribute) 設置屬性及屬性值 
voidsetAttribute(Stringname,Objectobj,intscope) 在指定範圍內設置屬性及屬性值 
publicObjectgetAttribute(Stringname) 取屬性的值 
ObjectgetAttribute(Stringname,intscope) 在指定範圍內取屬性的值 
publicObjectfindAttribute(Stringname) 尋找一屬性,返回起屬性值或NULL 
voidremoveAttribute(Stringname) 刪除某屬性 
voidremoveAttribute(Stringname,intscope) 在指定範圍刪除某屬性 
intgetAttributeScope(Stringname) 返回某屬性的做用範圍 
EnumerationgetAttributeNamesInScope(intscope) 返回指定範圍內可用的屬性名枚舉 
voidrelease() 釋放pageContext所佔用的資源 
voidforward(StringrelativeUrlPath) 使當前頁面重導到另外一頁面 
voidinclude(StringrelativeUrlPath) 在當前位置包含另外一文件 

9.config對象  
config對象是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所要用到的參數(經過屬性名和屬性值構成)以及服務器的有關信息(經過傳遞一個ServletContext對象)
相關文章
相關標籤/搜索