JSP內(nèi)置對象

前言:在開始介紹JSP的內(nèi)置對象之前,先講解JSP中4種屬性范圍,分別是page、request、session和application。對這幾個作用范圍的說明如下:

1. page范圍:指所設(shè)置的屬性僅在當(dāng)前頁面內(nèi)有效。使用pageContext的setAttribute()方法可以設(shè)置屬性值,使用pageContext的getAttribute()可以獲得屬性值。

2. request范圍:指屬性僅在一次請求的范圍內(nèi)有效。使用request的setAttribute()方法可以設(shè)置屬性值,使用request的getAttribute()可以獲得屬性值。

3. session范圍:指的是屬性僅在瀏覽器與服務(wù)器進行一次會話的范圍內(nèi)有效,當(dāng)和服務(wù)器斷開連接后,屬性就會失效。使用session的setAttribute()方法可以設(shè)置屬性值,使用session的getAttribute()可以獲得屬性值。

4. application范圍:指屬性在整個Web應(yīng)用中都有效,當(dāng)和服務(wù)器停止后才失效。使用application的setAttribute()方法可以設(shè)置屬性值,使用application的getAttribute()可以獲得屬性值。


下面開始介紹JSP的9種內(nèi)置對象:


request對象

用于獲取客戶端信息,例如我們在表單中填寫的信息等。實際上,JSP容器會將客戶端的請求信息封裝在request對象中。在客戶端發(fā)出請求時會創(chuàng)建request對象,在請求結(jié)束后,則會銷毀request對象。

通常在應(yīng)用中用的最多的就是客戶端請求的參數(shù)名稱和參數(shù)值。在request對象中提供了一系列的方法用來獲取客戶端的請求參數(shù),這些方法包括getParameter、getParameterNames、getParameterValues和getParameterMap。


response對象

response對象包含了從JSP頁面返回客戶端的所有信息,其作用域是它所在的頁面。response對象是javax.servlet.ServletResponse類的一個實例,它封裝由JSP產(chǎn)生的響應(yīng),并返回客戶端以響應(yīng)請求。它被作為_jspService()方法的一個參數(shù)而由引擎?zhèn)鬟f給JSP,在這里JSP要改動它。

response對象經(jīng)常用于設(shè)置HTTP標(biāo)題、添加cookie、設(shè)置響應(yīng)內(nèi)容的類型和狀態(tài)、發(fā)送HTTP重定向和編碼URL。

response的一個主要應(yīng)用是重定向??梢酝ㄟ^response的sendRedirect(String url)方法實現(xiàn)重定向。


out對象

out內(nèi)置對象是一個緩沖的輸入流,用來向客戶端返回信息。它是javax.servlet.jsp.JspWriter的一個實例。由于向客戶端輸出時要先進行連接,所以總是采用緩沖輸出的方式,因此out是緩沖輸入流。

out對象的典型應(yīng)用就是向客戶端輸出數(shù)據(jù)。


session對象

session對象是會話對象,用來紀(jì)錄每個客戶端的訪問狀態(tài)。

與session對象想逛的操作中最重要的就是關(guān)于屬性的操作,與屬性操作相關(guān)的方法主要有:setAttribute()、getAttribute()和maillogout.jsp。


application對象

application對象用于獲取和設(shè)置Servlet的相關(guān)信息,它的生命周期是從服務(wù)器啟動直到服務(wù)器關(guān)閉為止,即一旦創(chuàng)建一個application對象,該對象將會一直存在,直到服務(wù)器關(guān)閉。application中封裝了JSP所在的Web應(yīng)用中的信息。

application對象的常用方法如下:

void setAttribute(String name,Object value) ? 以鍵值對的方式,將一個對象的值存放到application中。

Object getAttribute(String name) ? 根據(jù)屬性名獲取application中存放的值。


pageContext對象

pageContext對象是一個比較特殊的對象,使用它不僅可以設(shè)置page范圍內(nèi)的屬性,還可以設(shè)置其他范圍內(nèi)的屬性。通過pageContext還可以訪問本頁面中的所有其他對象。


page對象

page對象指的是當(dāng)前的JSP頁面本身,它是java.lang.Object類的對象,通過page對象可以方便地調(diào)用Servlet類中定義的方法。page對象在實際開發(fā)過程中并不經(jīng)常使用。


config對象

config對象是ServletConfig類的一個實例,在Servlet初始化時,可以通過config向Servlet傳遞信息。所傳遞的信息可以是屬性名和屬性值構(gòu)成的名值對,也可以是通過ServletContext對象傳遞的服務(wù)器的相關(guān)信息。


exception對象

exception對象是java.lang.Throwable類的對象,用來處理頁面的錯誤和異常。在使用JSP進行開發(fā)時,習(xí)慣的做法是在一個頁面中使用page指令的errorPage屬性,讓該屬性指向一個專門用于處理異常處理的頁面。如果在JSP頁面中有未捕獲的異常,則會生成exception對象,然后將exception對象傳遞到page指令中設(shè)置的異常處理頁面中,在異常處理頁面中對exception對象進行處理。在異常處理頁面中需要將其page指令的isErrorPage屬性設(shè)置為true才可以使用exception對象。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.學(xué)習(xí)內(nèi)容 JSP技術(shù)入門和常用指令 JSP的內(nèi)置對象&標(biāo)簽介紹 EL表達式&EL的內(nèi)置對象 2.JSP技術(shù)入門...
    WendyVIV閱讀 2,330評論 1 18
  • 內(nèi)置對象簡介 JSP 內(nèi)置對象是 Web 容器創(chuàng)建的一組對象,不需使用 new 關(guān)鍵字就可以直接使用的內(nèi)置對象。 ...
    Yanci516閱讀 1,603評論 0 5
  • JSP包含九種內(nèi)置對象,包含:(以下都是對象的引用,而不是類名。)1、request,請求對象2、response...
    exmexm閱讀 657評論 0 0
  • JSP使用java作為腳本語言、具有強大的對象處理能力、并且可以動態(tài)的創(chuàng)建Web頁面的內(nèi)容、但是java語言的對象...
    無意惹東風(fēng)閱讀 351評論 0 0
  • 本文包括:out(常用)request(重點)response(重點)get與post(難點)請求重定向與請求轉(zhuǎn)發(fā)...
    廖少少閱讀 393評論 0 2

友情鏈接更多精彩內(nèi)容