jsp提供了的9個(gè)內(nèi)置對(duì)象,下面jsp的9大內(nèi)置對(duì)象方法說(shuō)明
內(nèi)置對(duì)象 類型 作用域
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
根據(jù)它們的作用進(jìn)行分類:
第一類:與Servlet有關(guān):page和config
第二類:與Input/Output有關(guān):out,request和response
第三類:與Context有關(guān):application,session和pageContext
第四類:與Error有關(guān):exceptio
對(duì)象作用范圍:
1、page:就是設(shè)置的屬性只能在當(dāng)前頁(yè)面有效。通過(guò)pageContext的setAttribute()和getAttribute()。
2、request:指屬性在一次請(qǐng)求范圍內(nèi)有效。如果頁(yè)面從給一個(gè)頁(yè)面跳轉(zhuǎn)到另一個(gè)頁(yè)面,那么該屬性就失效了。這里所指的跳轉(zhuǎn)是指客戶端跳轉(zhuǎn),比如客戶單擊超鏈接跳轉(zhuǎn)到其他頁(yè)面或者通過(guò)瀏覽器地址欄瀏覽其他頁(yè)面。如果使用服務(wù)器端跳轉(zhuǎn)jsp:forward>,則該屬性仍然生效。同理使用request對(duì)象的setAttribute()和getAttribute()。
3、session:指客戶瀏覽器與服務(wù)器一次會(huì)話范圍內(nèi),如果服務(wù)器斷開連接,那么屬性就失效了。同理通過(guò)session對(duì)象的setAttribute()和getAttribute()。session范圍的例外比如重新打開一個(gè)瀏覽器。
4、application:指在整個(gè)服務(wù)器范圍,知道服務(wù)器停止以后才會(huì)失效。同理通過(guò)application對(duì)象的setAttribute()和getAttribute()。application范圍就是保存的屬性只要服務(wù)器不重啟,就能在任意頁(yè)面中獲取,就算重新打開瀏覽器也是可以獲取屬性的。
9大對(duì)象方法說(shuō)明:
1.request對(duì)象
客戶端的請(qǐng)求信息被封裝在request對(duì)象中,通過(guò)它才能了解到客戶的需求,
然后做出響應(yīng)。它是HttpServletRequest類的實(shí)例。
objectgetAttribute(Stringname) 返回指定屬性的屬性值
EnumerationgetAttributeNames() 返回所有可用屬性名的枚舉
StringgetCharacterEncoding() 返回字符編碼方式
intgetContentLength() 返回請(qǐng)求體的長(zhǎng)度(以字節(jié)數(shù))
StringgetContentType() 得到請(qǐng)求體的MIME類型
ServletInputStreamgetInputStream() 得到請(qǐng)求體中一行的二進(jìn)制流
StringgetParameter(Stringname) 返回name指定參數(shù)的參數(shù)值
EnumerationgetParameterNames() 返回可用參數(shù)名的枚舉
String[]getParameterValues(Stringname) 返回包含參數(shù)name的所有值的數(shù)組
StringgetProtocol() 返回請(qǐng)求用的協(xié)議類型及版本號(hào)
StringgetScheme() 返回請(qǐng)求用的計(jì)劃名,如:http.https及ftp等
StringgetServerName() 返回接受請(qǐng)求的服務(wù)器主機(jī)名
intgetServerPort() 返回服務(wù)器接受此請(qǐng)求所用的端口號(hào)
BufferedReadergetReader() 返回解碼過(guò)了的請(qǐng)求體
StringgetRemoteAddr() 返回發(fā)送此請(qǐng)求的客戶端IP地址
StringgetRemoteHost() 返回發(fā)送此請(qǐng)求的客戶端主機(jī)名
voidsetAttribute(Stringkey,Objectobj) 設(shè)置屬性的屬性值
StringgetRealPath(Stringpath) 返回一虛擬路徑的真實(shí)路徑
3.session對(duì)象
session對(duì)象指的是客戶端與服務(wù)器的一次會(huì)話,從客戶連到服務(wù)器的一個(gè)
WebApplication開始,直到客戶端與服務(wù)器斷開連接為止。它是HttpSession
類的實(shí)例.
序號(hào)方法說(shuō)明
longgetCreationTime() 返回SESSION創(chuàng)建時(shí)間
publicStringgetId() 返回SESSION創(chuàng)建時(shí)JSP引擎為它設(shè)的惟一ID號(hào)
longgetLastAccessedTime() 返回此SESSION里客戶端最近一次請(qǐng)求時(shí)間
intgetMaxInactiveInterval() 返回兩次請(qǐng)求間隔多長(zhǎng)時(shí)間此SESSION被取
String[]getValueNames() 返回一個(gè)包含此SESSION中所有可用屬性的數(shù)組
voidinvalidate() 取消SESSION,使SESSION不可用
booleanisNew() 返回服務(wù)器創(chuàng)建的一個(gè)SESSION,客戶端是否已經(jīng)加入
voidremoveValue(Stringname) 刪除SESSION中指定的屬性
voidsetMaxInactiveInterval() 設(shè)置兩次請(qǐng)求間隔多長(zhǎng)時(shí)間此SESSION被取消(ms)
4.out對(duì)象
out對(duì)象是JspWriter類的實(shí)例,是向客戶端輸出內(nèi)容常用的對(duì)象
序號(hào)方法說(shuō)明
voidclear() 清除緩沖區(qū)的內(nèi)容
voidclearBuffer() 清除緩沖區(qū)的當(dāng)前內(nèi)容
voidflush() 清空流
intgetBufferSize() 返回緩沖區(qū)以字節(jié)數(shù)的大小,如不設(shè)緩沖區(qū)則為0
intgetRemaining() 返回緩沖區(qū)還剩余多少可用
booleanisAutoFlush() 返回緩沖區(qū)滿時(shí),是自動(dòng)清空還是拋出異常
voidclose() 關(guān)閉輸出流
5.page對(duì)象
page對(duì)象就是指向當(dāng)前JSP頁(yè)面本身,有點(diǎn)象類中的this指針,它是
java.lang.Object類的實(shí)例序號(hào)方法說(shuō)明
classgetClass 返回此Object的類
inthashCode() 返回此Object的hash碼
booleanequals(Objectobj) 判斷此Object是否與指定的Object對(duì)象相等
voidcopy(Objectobj) 把此Object拷貝到指定的Object對(duì)象中
Objectclone() 克隆此Object對(duì)象
StringtoString() 把此Object對(duì)象轉(zhuǎn)換成String類的對(duì)象
voidnotify() 喚醒一個(gè)等待的線程
voidnotifyAll() 喚醒所有等待的線程
voidwait(inttimeout) 使一個(gè)線程處于等待直到timeout結(jié)束或被喚醒
voidwait() 使一個(gè)線程處于等待直到被喚醒
voidenterMonitor() 對(duì)Object加鎖
voidexitMonitor() 對(duì)Object開鎖
6.application對(duì)象
application對(duì)象實(shí)現(xiàn)了用戶間數(shù)據(jù)的共享,可存放全局變量。它開始于服務(wù)器
的啟動(dòng),直到服務(wù)器的關(guān)閉,在此期間,此對(duì)象將一直存在;這樣在用戶的前
后連接或不同用戶之間的連接中,可以對(duì)此對(duì)象的同一屬性進(jìn)行操作;在任何
地方對(duì)此對(duì)象屬性的操作,都將影響到其他用戶對(duì)此的訪問(wèn)。服務(wù)器的啟動(dòng)和
關(guān)閉決定了application對(duì)象的生命。它是ServletContext類的實(shí)例。
ObjectgetAttribute(Stringname) 返回給定名的屬性值
EnumerationgetAttributeNames() 返回所有可用屬性名的枚舉
voidsetAttribute(Stringname,Objectobj) 設(shè)定屬性的屬性值
voidremoveAttribute(Stringname) 刪除一屬性及其屬性值
StringgetServerInfo() 返回JSP(SERVLET)引擎名及版本號(hào)
StringgetRealPath(Stringpath) 返回一虛擬路徑的真實(shí)路徑
ServletContextgetContext(Stringuripath) 返回指定WebApplication的application對(duì)象
intgetMajorVersion() 返回服務(wù)器支持的ServletAPI的最大版本號(hào)
intgetMinorVersion() 返回服務(wù)器支持的ServletAPI的最大版本號(hào)
StringgetMimeType(Stringfile) 返回指定文件的MIME類型
URLgetResource(Stringpath) 返回指定資源(文件及目錄)的URL路徑
InputStreamgetResourceAsStream(Stringpath) 返回指定資源的輸入流
RequestDispatchergetRequestDispatcher(Stringuripath) 返回指定資源的RequestDispatcher對(duì)象
ServletgetServlet(Stringname) 返回指定名的Servlet
EnumerationgetServlets() 返回所有Servlet的枚舉
EnumerationgetServletNames() 返回所有Servlet名的枚舉
voidlog(Stringmsg) 把指定消息寫入Servlet的日志文件
voidlog(Exceptionexception,Stringmsg) 把指定異常的棧軌跡及錯(cuò)誤消息寫入Servlet的日志文件
voidlog(Stringmsg,Throwablethrowable) 把棧軌跡及給出的Throwable異常的說(shuō)明信息寫入Servlet的日志文件
7.exception對(duì)象
exception對(duì)象是一個(gè)例外對(duì)象,當(dāng)一個(gè)頁(yè)面在運(yùn)行過(guò)程中發(fā)生了例外,就產(chǎn)
生這個(gè)對(duì)象。如果一個(gè)JSP頁(yè)面要應(yīng)用此對(duì)象,就必須把isErrorPage設(shè)為true,
否則無(wú)法編譯。他實(shí)際上是java.lang.Throwable的對(duì)象
StringgetMessage() 返回描述異常的消息
StringtoString() 返回關(guān)于異常的簡(jiǎn)短描述消息
voidprintStackTrace() 顯示異常及其棧軌跡
ThrowableFillInStackTrace() 重寫異常的執(zhí)行棧軌跡
8.pageContext對(duì)象
pageContext對(duì)象提供了對(duì)JSP頁(yè)面內(nèi)所有的對(duì)象及名字空間的訪問(wèn),也就是
說(shuō)他可以訪問(wèn)到本頁(yè)所在的SESSION,也可以取本頁(yè)面所在的application的
某一屬性值,他相當(dāng)于頁(yè)面中所有功能的集大成者,它的本類名也叫
pageContext。
JspWritergetOut() 返回當(dāng)前客戶端響應(yīng)被使用的JspWriter流(out)
HttpSessiongetSession() 返回當(dāng)前頁(yè)中的HttpSession對(duì)象(session)
ObjectgetPage() 返回當(dāng)前頁(yè)的Object對(duì)象(page)
ServletRequestgetRequest() 返回當(dāng)前頁(yè)的ServletRequest對(duì)象(request)
ServletResponsegetResponse() 返回當(dāng)前頁(yè)的ServletResponse對(duì)象(response)
ExceptiongetException() 返回當(dāng)前頁(yè)的Exception對(duì)象(exception)
ServletConfiggetServletConfig() 返回當(dāng)前頁(yè)的ServletConfig對(duì)象(config)
ServletContextgetServletContext() 返回當(dāng)前頁(yè)的ServletContext對(duì)象(application)
voidsetAttribute(Stringname,Objectattribute) 設(shè)置屬性及屬性值
voidsetAttribute(Stringname,Objectobj,intscope) 在指定范圍內(nèi)設(shè)置屬性及屬性值
publicObjectgetAttribute(Stringname) 取屬性的值
ObjectgetAttribute(Stringname,intscope) 在指定范圍內(nèi)取屬性的值
publicObjectfindAttribute(Stringname) 尋找一屬性,返回起屬性值或NULL
voidremoveAttribute(Stringname) 刪除某屬性
voidremoveAttribute(Stringname,intscope) 在指定范圍刪除某屬性
intgetAttributeScope(Stringname) 返回某屬性的作用范圍
EnumerationgetAttributeNamesInScope(intscope) 返回指定范圍內(nèi)可用的屬性名枚舉
voidrelease() 釋放pageContext所占用的資源
voidforward(StringrelativeUrlPath) 使當(dāng)前頁(yè)面重導(dǎo)到另一頁(yè)面
voidinclude(StringrelativeUrlPath) 在當(dāng)前位置包含另一文件
9.config對(duì)象
config對(duì)象是在一個(gè)Servlet初始化時(shí),JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時(shí)所要用到的參數(shù)(通過(guò)屬性名和屬性值構(gòu)成)以及服務(wù)器的有關(guān)信息(通過(guò)傳遞一個(gè)ServletContext對(duì)象)
您可能感興趣的文章:- js內(nèi)置對(duì)象 學(xué)習(xí)筆記
- JSP內(nèi)置對(duì)象:Request和Response的簡(jiǎn)單介紹及使用
- javascript內(nèi)置對(duì)象arguments詳解
- javascript function、指針及內(nèi)置對(duì)象
- 淺談JavaScript的內(nèi)置對(duì)象和瀏覽器對(duì)象
- javascript對(duì)象之內(nèi)置對(duì)象Math使用方法
- 淺析JSP的9大內(nèi)置對(duì)象和4大作用域?qū)ο?/li>
- 詳解JavaScript的內(nèi)置對(duì)象
- Javascript中prototype屬性實(shí)現(xiàn)給內(nèi)置對(duì)象添加新的方法
- javascript 內(nèi)置對(duì)象及常見API詳細(xì)介紹
- 詳解JSP 內(nèi)置對(duì)象request常見用法
- JavaScript常用內(nèi)置對(duì)象用法分析