1.內(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
2.根據(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
3.對(duì)象作用范圍:
- page:就是設(shè)置的屬性只能在當(dāng)前頁(yè)面有效。通過(guò)pageContext的setAttribute()和getAttribute()。
- 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()。
- session:指客戶瀏覽器與服務(wù)器一次會(huì)話范圍內(nèi),如果服務(wù)器斷開連接,那么屬性就失效了。同理通過(guò)session對(duì)象的setAttribute()和getAttribute()。session范圍的例外比如重新打開一個(gè)瀏覽器。
- application:指在整個(gè)服務(wù)器范圍,知道服務(wù)器停止以后才會(huì)失效。同理通過(guò)application對(duì)象的setAttribute()和getAttribute()。application范圍就是保存的屬性只要服務(wù)器不重啟,就能在任意頁(yè)面中獲取,就算重新打開瀏覽器也是可以獲取屬性的。
4.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í)路徑
(2)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)
(3)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)閉輸出流
(4)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開鎖
(5)application對(duì)象
application對(duì)象實(shí)現(xiàn)了用戶間數(shù)據(jù)的共享,可存放全局變量。它開始于服務(wù)器的啟動(dòng),直到服務(wù)器的關(guān)閉,在此期間,此對(duì)象將一直存在;這樣在用戶的前后連接或不同用戶之間的連接中,可以對(duì)此對(duì)象的同一屬性進(jìn)行操作;在任何地方對(duì)此對(duì)象屬性的操作,都將影響到其他用戶對(duì)此的訪問。服務(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的日志文件
(6)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í)行棧軌跡
(7)pageContext對(duì)象
pageContext對(duì)象提供了對(duì)JSP頁(yè)面內(nèi)所有的對(duì)象及名字空間的訪問,也就是說(shuō)他可以訪問到本頁(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)前位置包含另一文件
(8)config對(duì)象
config對(duì)象是在一個(gè)Servlet初始化時(shí),JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時(shí)所要用到的參數(shù)(通過(guò)屬性名和屬性值構(gòu)成)以及服務(wù)器的有關(guān)信息(通過(guò)傳遞一個(gè)ServletContext對(duì)象)
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"JSP內(nèi)置對(duì)象及方法詳細(xì)",希望對(duì)大家有幫助,想了解更多可查看JSP教程,如有疑問,請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。