溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JSP內(nèi)置對象及方法有哪些

發(fā)布時間:2022-09-26 11:10:38 來源:億速云 閱讀:187 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“JSP內(nèi)置對象及方法有哪些”,在日常操作中,相信很多人在JSP內(nèi)置對象及方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”JSP內(nèi)置對象及方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

1.內(nèi)置對象類型作用域

  • 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.對象作用范圍:

  • page:就是設(shè)置的屬性只能在當(dāng)前頁面有效。通過pageContext的setAttribute()和getAttribute()。

  • request:指屬性在一次請求范圍內(nèi)有效。如果頁面從給一個頁面跳轉(zhuǎn)到另一個頁面,那么該屬性就失效了。這里所指的跳轉(zhuǎn)是指客戶端跳轉(zhuǎn),比如客戶單擊超鏈接跳轉(zhuǎn)到其他頁面或者通過瀏覽器地址欄瀏覽其他頁面。如果使用服務(wù)器端跳轉(zhuǎn)<jsp:forward>,則該屬性仍然生效。同理使用request對象的setAttribute()和getAttribute()。

  • session:指客戶瀏覽器與服務(wù)器一次會話范圍內(nèi),如果服務(wù)器斷開連接,那么屬性就失效了。同理通過session對象的setAttribute()和getAttribute()。session范圍的例外比如重新打開一個瀏覽器。

  • application:指在整個服務(wù)器范圍,知道服務(wù)器停止以后才會失效。同理通過application對象的setAttribute()和getAttribute()。application范圍就是保存的屬性只要服務(wù)器不重啟,就能在任意頁面中獲取,就算重新打開瀏覽器也是可以獲取屬性的。

4.9大對象方法說明:

(1)request對象

  • 客戶端的請求信息被封裝在request對象中,通過它才能了解到客戶的需求,

  • 然后做出響應(yīng)。它是HttpServletRequest類的實例。

  • objectgetAttribute(Stringname)返回指定屬性的屬性值

  • EnumerationgetAttributeNames()返回所有可用屬性名的枚舉

  • StringgetCharacterEncoding()返回字符編碼方式

  • intgetContentLength()返回請求體的長度(以字節(jié)數(shù))

  • StringgetContentType()得到請求體的MIME類型

  • ServletInputStreamgetInputStream()得到請求體中一行的二進(jìn)制流

  • StringgetParameter(Stringname)返回name指定參數(shù)的參數(shù)值

  • EnumerationgetParameterNames()返回可用參數(shù)名的枚舉

  • String[]getParameterValues(Stringname)返回包含參數(shù)name的所有值的數(shù)組

  • StringgetProtocol()返回請求用的協(xié)議類型及版本號

  • StringgetScheme()返回請求用的計劃名,如:http.https及ftp等

  • StringgetServerName()返回接受請求的服務(wù)器主機(jī)名

  • intgetServerPort()返回服務(wù)器接受此請求所用的端口號

  • BufferedReadergetReader()返回解碼過了的請求體

  • StringgetRemoteAddr()返回發(fā)送此請求的客戶端IP地址

  • StringgetRemoteHost()返回發(fā)送此請求的客戶端主機(jī)名

  • voidsetAttribute(Stringkey,Objectobj)設(shè)置屬性的屬性值

  • StringgetRealPath(Stringpath)返回一虛擬路徑的真實路徑

(2)session對象

session對象指的是客戶端與服務(wù)器的一次會話,從客戶連到服務(wù)器的一個WebApplication開始,直到客戶端與服務(wù)器斷開連接為止。它是HttpSession類的實例.

序號方法說明

  • longgetCreationTime()返回SESSION創(chuàng)建時間

  • publicStringgetId()返回SESSION創(chuàng)建時JSP引擎為它設(shè)的惟一ID號

  • longgetLastAccessedTime()返回此SESSION里客戶端最近一次請求時間

  • intgetMaxInactiveInterval()返回兩次請求間隔多長時間此SESSION被取

  • String[]getValueNames()返回一個包含此SESSION中所有可用屬性的數(shù)組

  • voidinvalidate()取消SESSION,使SESSION不可用

  • booleanisNew()返回服務(wù)器創(chuàng)建的一個SESSION,客戶端是否已經(jīng)加入

  • voidremoveValue(Stringname)刪除SESSION中指定的屬性

  • voidsetMaxInactiveInterval()設(shè)置兩次請求間隔多長時間此SESSION被取消(ms)

(3)out對象

out對象是JspWriter類的實例,是向客戶端輸出內(nèi)容常用的對象;

序號方法說明

  • voidclear()清除緩沖區(qū)的內(nèi)容

  • voidclearBuffer()清除緩沖區(qū)的當(dāng)前內(nèi)容

  • voidflush()清空流

  • intgetBufferSize()返回緩沖區(qū)以字節(jié)數(shù)的大小,如不設(shè)緩沖區(qū)則為0

  • intgetRemaining()返回緩沖區(qū)還剩余多少可用

  • booleanisAutoFlush()返回緩沖區(qū)滿時,是自動清空還是拋出異常

  • voidclose()關(guān)閉輸出流

(4)page對象

page對象就是指向當(dāng)前JSP頁面本身,有點(diǎn)象類中的this指針,它是java.lang.Object類的實例序號方法說明

  • classgetClass返回此Object類

  • inthashCode()返回此Object的hash碼

  • booleanequals(Objectobj)判斷此Object是否與指定的Object對象相等

  • voidcopy(Objectobj)把此Object拷貝到指定的Object對象中

  • Objectclone()克隆此Object對象

  • StringtoString()把此Object對象轉(zhuǎn)換成String類的對象

  • voidnotify()喚醒一個等待的線程

  • voidnotifyAll()喚醒所有等待的線程

  • voidwait(inttimeout)使一個線程處于等待直到timeout結(jié)束或被喚醒

  • voidwait()使一個線程處于等待直到被喚醒

  • voidenterMonitor()對Object加鎖

  • voidexitMonitor()對Object開鎖

(5)application對象

application對象實現(xiàn)了用戶間數(shù)據(jù)的共享,可存放全局變量。它開始于服務(wù)器的啟動,直到服務(wù)器的關(guān)閉,在此期間,此對象將一直存在;這樣在用戶的前后連接或不同用戶之間的連接中,可以對此對象的同一屬性進(jìn)行操作;在任何地方對此對象屬性的操作,都將影響到其他用戶對此的訪問。服務(wù)器的啟動和關(guān)閉決定了application對象的生命。它是ServletContext類的實例。

  • ObjectgetAttribute(Stringname)返回給定名的屬性值

  • EnumerationgetAttributeNames()返回所有可用屬性名的枚舉

  • voidsetAttribute(Stringname,Objectobj)設(shè)定屬性的屬性值

  • voidremoveAttribute(Stringname)刪除一屬性及其屬性值

  • StringgetServerInfo()返回JSP(SERVLET)引擎名及版本號

  • StringgetRealPath(Stringpath)返回一虛擬路徑的真實路徑

  • ServletContextgetContext(Stringuripath)返回指定WebApplication的application對象

  • intgetMajorVersion()返回服務(wù)器支持的ServletAPI的最大版本號

  • intgetMinorVersion()返回服務(wù)器支持的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的日志文件

(6)exception對象

exception對象是一個例外對象,當(dāng)一個頁面在運(yùn)行過程中發(fā)生了例外,就產(chǎn)生這個對象。如果一個JSP頁面要應(yīng)用此對象,就必須把isErrorPage設(shè)為true,否則無法編譯。他實際上是java.lang.Throwable的對象

  • StringgetMessage()返回描述異常的消息

  • StringtoString()返回關(guān)于異常的簡短描述消息

  • voidprintStackTrace()顯示異常及其棧軌跡

  • ThrowableFillInStackTrace()重寫異常的執(zhí)行棧軌跡

(7)pageContext對象

pageContext對象提供了對JSP頁面內(nèi)所有的對象及名字空間的訪問,也就是說他可以訪問到本頁所在的SESSION,也可以取本頁面所在的application的某一屬性值,他相當(dāng)于頁面中所有功能的集大成者,它的本類名也叫pageContext。

  • JspWritergetOut()返回當(dāng)前客戶端響應(yīng)被使用的JspWriter流(out)

  • HttpSessiongetSession()返回當(dāng)前頁中的HttpSession對象(session)

  • ObjectgetPage()返回當(dāng)前頁的Object對象(page)

  • ServletRequestgetRequest()返回當(dāng)前頁的ServletRequest對象(request)

  • ServletResponsegetResponse()返回當(dāng)前頁的ServletResponse對象(response)

  • ExceptiongetException()返回當(dāng)前頁的Exception對象(exception)

  • ServletConfiggetServletConfig()返回當(dāng)前頁的ServletConfig對象(config)

  • ServletContextgetServletContext()返回當(dāng)前頁的ServletContext對象(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)前頁面重導(dǎo)到另一頁面

  • voidinclude(StringrelativeUrlPath)在當(dāng)前位置包含另一文件

(8)config對象

config對象是在一個Servlet初始化時,JSP引擎向它傳遞信息用的,此信息包括Servlet初始化時所要用到的參數(shù)(通過屬性名和屬性值構(gòu)成)以及服務(wù)器的有關(guān)信息(通過傳遞一個ServletContext對象)

到此,關(guān)于“JSP內(nèi)置對象及方法有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

jsp
AI