JSP的九大內置對象
JSP內置對象(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) 返回一虛擬路徑的真實路徑
2.response對象
- response對象包含了響應客戶請求的有關信息,但在JSP中很少直接用到它。
- 它是HttpServletResponse類的實例。
- 序號方法說明
- 1StringgetCharacterEncoding() 返回響應用的是何種字符編碼
- 2ServletOutputStreamgetOutputStream() 返回響應的一個二進制輸出流
- 3PrintWritergetWriter() 返回可以向客戶端輸出字符的一個對象
- 4voidsetContentLength(intlen) 設置響應頭長度
- 5voidsetContentType(Stringtype) 設置響應的MIME類型
- 6sendRedirect(java.lang.Stringlocation) 重新定向客戶端的請求
3.session對象
session對象指的是客戶端與服務器的一次會話,從客戶連到服務器的一個
WebApplication開始,直到客戶端與服務器斷開連接為止。它是HttpSession
類的實例.
序號方法說明
- longgetCreationTime() 返回SESSION創建時間
- publicStringgetId() 返回SESSION創建時JSP引擎為它設的惟一ID號
- longgetLastAccessedTime() 返回此SESSION裏客戶端最近一次請求時間
- intgetMaxInactiveInterval() 返回兩次請求間隔多長時間此SESSION被取
- 消(ms)
- 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對象)
JSP的九大內置對象