《Java Web開發(fā)從入門到實戰(zhàn)(IntelliJ IDEA版·微課視頻版)》 課件 第3章 JSP內(nèi)置對象_第1頁
《Java Web開發(fā)從入門到實戰(zhàn)(IntelliJ IDEA版·微課視頻版)》 課件 第3章 JSP內(nèi)置對象_第2頁
《Java Web開發(fā)從入門到實戰(zhàn)(IntelliJ IDEA版·微課視頻版)》 課件 第3章 JSP內(nèi)置對象_第3頁
《Java Web開發(fā)從入門到實戰(zhàn)(IntelliJ IDEA版·微課視頻版)》 課件 第3章 JSP內(nèi)置對象_第4頁
《Java Web開發(fā)從入門到實戰(zhàn)(IntelliJ IDEA版·微課視頻版)》 課件 第3章 JSP內(nèi)置對象_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第3章JSP內(nèi)置對象學(xué)習(xí)目的與要求本章主要介紹request、response、out、session、application、pageContext、page、config和exception等內(nèi)置對象。通過本章的學(xué)習(xí),理解JSP內(nèi)置對象的含義,掌握J(rèn)SP內(nèi)置對象的使用方法。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

學(xué)習(xí)目的與要求《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1request對象3.2response對象3.3out對象3.4session對象3.5application對象3.6pageContext對象3.7page對象3.8config對象3.9exception對象3.10JSP的4種作用域3.1request對象request對象的類型為jakarta.servlet.http.HttpServletRequest。當(dāng)客戶端請求一個JSP頁面時,JSP頁面所在的服務(wù)器將客戶端發(fā)出的所有請求信息封裝在內(nèi)置對象request中,因此使用該對象就可以獲取客戶端提交的信息?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1.1常用方法《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

號方

法功

明1ObjectgetAttribute(Stringname)

返回指定屬性的屬性值2EnumerationgetAtrributeNames()

返回所有可用屬性名的枚舉3StringgetCharacterEncoding()

返回字符編碼方式4intgetContentLength()

返回請求體的字節(jié)數(shù)5StringgetContentType()

返回請求體的MIME類型6ServletInputStreamgetInputStream()返回請求體中一行的二進(jìn)制流7StringgetParameter(Stringname)返回name指定參數(shù)的參數(shù)值8EnumerationgetParameterNames()

返回可用參數(shù)名的枚舉9String[]getParameterValues(Stringname)

返回包含參數(shù)name的所有值的數(shù)組10StringgetProtochol()

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

返回接受請求的服務(wù)器主機(jī)名12intgetServerPort()返回服務(wù)器接受此請求所用的端口號13StringgetRemoteAddr()

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

返回發(fā)送此請求的客戶端主機(jī)名15voidsetAttribute(Stringkey,Objectobj)

設(shè)置屬性的屬性值16StringgetRealPath(Stringpath)

返回一虛擬路徑的真實路徑3.1.1常用方法

StringgetParameter(Stringname)該方法以字符串的形式返回客戶端傳來的某個參數(shù)的值,該參數(shù)名由name指定。【例3-1】調(diào)用方法getParameter(String

name)獲取表單信息

String[]getParameterValues(Stringname)該方法以字符串?dāng)?shù)組的形式返回客戶端向服務(wù)器端傳遞的指定參數(shù)名的所有值。【例3-2】調(diào)用方法getParameterValues

(Stringname)獲取表單信息《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1.2request對象存取數(shù)據(jù)request對象可以通過void

setAttribute(String

key,Objectobj)方法將參數(shù)obj指定的對象保存到request對象中,key為所保存的對象指定一個關(guān)鍵字。若保存的兩個對象關(guān)鍵字相同,則先保存的對象被清除。request對象可以通過Object

getAttribute(String

key)方法獲取請求域(如:forward轉(zhuǎn)發(fā))中的關(guān)鍵字為key的對象(屬性值)。在實際工程中,request對象經(jīng)常用于存儲、傳遞本次請求的處理結(jié)果?!纠?-3】編寫兩個JSP頁面example3_3.jsp和example3_3_1.jsp,在example3_3.jsp頁面中輸入一個整數(shù)提交給example3_3_1.jsp頁面求平方。當(dāng)輸入值非整數(shù)時,在example3_3_1.jsp頁面中使用request對象的setAttribute(String

key,Objectobj)方法將錯誤消息存儲到request對象中,同時使用forward標(biāo)記轉(zhuǎn)發(fā)到example3_3_1.jsp頁面并顯示錯誤消息?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1.3中文亂碼問題如果在例3-1的example3_1.jsp頁面的文本框中輸入中文姓名,那么getValue.jsp頁面獲得的姓名可能是亂碼。如果出現(xiàn)中文亂碼,可以使用request對象的setCharacterEncoding(String

code)設(shè)置統(tǒng)一字符編碼,其中參數(shù)code以字符串形式傳入要設(shè)置的編碼格式,但這種方法僅對于提交方式是post的表單(表單默認(rèn)的提交方式是get)有效。例如:使用該方法解決例3-1中的getValue.jsp頁面出現(xiàn)的中文亂碼問題,需要完成兩件事:首先,將example3_1.jsp中的表單提交方式改為“post”,具體代碼如下:

<formaction="getValue.jsp"method="post">

其次,在getValue.jsp中獲取表單信息之前設(shè)置統(tǒng)一編碼,具體代碼如下:

request.setCharacterEncoding("UTF-8");《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1.4實踐環(huán)節(jié)——獲取客戶端的基本信息編寫1個JSP頁面practice3_1.jsp,在該頁面中使用request的方法獲取客戶端的IP地址、客戶機(jī)名稱、服務(wù)器名稱以及服務(wù)器端口號。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

學(xué)習(xí)目的與要求《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1request對象3.2response對象3.3out對象3.4session對象3.5application對象3.6pageContext對象3.7page對象3.8config對象3.9exception對象3.10JSP的4種作用域3.2response對象當(dāng)客戶端請求服務(wù)器的一個頁面時,會提交一個HTTP請求,服務(wù)器收到請求后,返回HTTP響應(yīng)。request對象對請求信息進(jìn)行封裝,與request對象對應(yīng)的對象是response對象。response對象的類型為jakarta.servlet.http.HttpServletResponse,對客戶端的請求做出動態(tài)響應(yīng)。動態(tài)響應(yīng)通常有:動態(tài)改變contentType屬性值、設(shè)置響應(yīng)表頭和response重定向?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.2.1動態(tài)改變contentType屬性值JSP頁面用page指令標(biāo)記設(shè)置了頁面的contentType屬性值,response對象按照此屬性值的方式對客戶端做出響應(yīng)。在page指令中只能為contentType屬性指定一個值。如果想動態(tài)改變contentType屬性值,換一種方式來響應(yīng)客戶端,可以讓response對象調(diào)用setContentType(String

s)方法來重新設(shè)置contentType的屬性值?!纠?-4】編寫1個JSP頁面example3_4.jsp,客戶端通過單擊頁面上的不同按鈕,可以改變頁面響應(yīng)的MIME類型。當(dāng)單擊“word”按鈕時,JSP頁面動態(tài)改變contentType的屬性值為application/msword,在內(nèi)置的瀏覽器中,啟用本地的word軟件來顯示當(dāng)前頁面內(nèi)容;當(dāng)單擊“excel”按鈕時,JSP頁面動態(tài)改變contentType的屬性值為application/vnd.ms-excel,瀏覽器啟用本地的excel軟件來顯示當(dāng)前頁面內(nèi)容。頁面效果如圖3.1(a)~3.1(c)所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.2.2設(shè)置響應(yīng)表頭response對象可以通過方法setHeader(String

name,String

value)設(shè)置指定名字的HTTP文件頭值,以此來操作HTTP文件頭。如果希望某頁面每3秒鐘刷新一次,那么在該頁面中添加如下代碼:response.setHeader("refresh","3");有時候希望從當(dāng)前頁面幾秒鐘后自動跳轉(zhuǎn)到另一個頁面。比如:打開one.jsp頁面3秒鐘后,自動跳轉(zhuǎn)到another.jsp頁面(one.jsp與another.jsp在同一個Web服務(wù)目錄下)。這該如何實現(xiàn)呢?只需要為one.jsp設(shè)置一個響應(yīng)頭即可,也就是在one.jsp頁面中添加如下代碼:response.setHeader("refresh","3;url=another.jsp");【例3-5】編寫1個JSP頁面example3_5.jsp,在該頁面中使用response對象設(shè)置一個響應(yīng)頭“refresh”,其值是“3”。那么用戶收到這個頭之后,該頁面會每3秒鐘刷新一次?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.2.3response重定向需要將客戶端引導(dǎo)至另一個頁面時,可以使用reponse對象的sendRedirect(String

url)方法實現(xiàn)客戶端的重定向。例如客戶端輸入的表單信息不完整或有誤時,應(yīng)該再次被重定向到輸入頁面?!纠?-6】編寫兩個JSP頁面login.jsp和validate.jsp,如果在頁面login.jsp中輸入正確的密碼“nihao2023”,單擊按鈕后提交給頁面validate.jsp,如果輸入不正確,重新定向到login.jsp頁面。先運(yùn)行l(wèi)ogin.jsp頁面,頁面效果如圖3.2(a)~3.2(b)所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.2.4實踐環(huán)節(jié)——登錄驗證編寫3個JSP頁面login_1.jsp、server.jsp和loginSuccess.jsp。在頁面login_1.jsp中輸入用戶名和密碼,單擊“提交”按鈕將輸入的信息提交給頁面server.jsp。在server.jsp頁面中進(jìn)行登錄驗證:如果輸入正確(用戶名“zhangsan”,密碼“123”),提示“成功登錄,3秒鐘后進(jìn)入loginSuccess.jsp頁面”,如果輸入不正確,重新定向到login_1.jsp頁面。先運(yùn)行l(wèi)ogin_1.jsp頁面,頁面運(yùn)行效果如圖3.3(a)~3.3(c)所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

學(xué)習(xí)目的與要求《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1request對象3.2response對象3.3out對象3.4session對象3.5application對象3.6pageContext對象3.7page對象3.8config對象3.9exception對象3.10JSP的4種作用域3.3out對象out對象的類型為jakarta.servlet.jsp.JspWriter,是一個輸出流,用來向客戶端瀏覽器輸出數(shù)據(jù)。【例3-7】編寫1個頁面example3_7.jsp,在該頁面中使用out對象輸出信息。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

號方

法功

明1voidclear()

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

清空流4intgetBufferSize()

返回緩沖區(qū)字節(jié)數(shù),如不設(shè)緩沖區(qū)則返回05intgetRemaining()

返回緩沖區(qū)剩余大小6booleanisAutoFlush()返回緩沖區(qū)滿時,是自動清空還是拋出異常7voidclose()關(guān)閉輸出流8voidprint()

輸出各種數(shù)據(jù)類型9voidnewLine()

輸出一個換行符學(xué)習(xí)目的與要求《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1request對象3.2response對象3.3out對象3.4session對象3.5application對象3.6pageContext對象3.7page對象3.8config對象3.9exception對象3.10JSP的4種作用域3.4session對象瀏覽器與Web服務(wù)器之間使用Http協(xié)議進(jìn)行通信。Http是一種無狀態(tài)協(xié)議,客戶端向服務(wù)器發(fā)出請求(request),服務(wù)器返回響應(yīng)(response),連接就被關(guān)閉了,在服務(wù)器端不保留連接的相關(guān)信息。所以服務(wù)器必須采取某種手段來記錄每個客戶端的連接信息。Web服務(wù)器可以使用內(nèi)置對象session來存放有關(guān)連接的信息,session對象的類型為jakarta.servlet.http.HttpSession。session對象指的是客戶端與服務(wù)器端的一次會話,從客戶端連到服務(wù)器端的一個Web應(yīng)用程序開始,直到客戶端與服務(wù)器端斷開為止?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.4.1session對象的IDWeb服務(wù)器會給每一個用戶自動創(chuàng)建一個session對象,為每個session對象分配一個唯一標(biāo)識的String類型的session

ID,這個ID用于區(qū)分其他用戶。這樣每個用戶都對應(yīng)著一個session對象,不同用戶的session對象互不相同。session對象調(diào)用getId()方法就可以獲取當(dāng)前session對象的ID。【例3-8】編寫3個JSP頁面example3_8_1.jsp、example3_8_2.jsp和example3_8_3.jsp,其中,example3_8_2.jsp存放在目錄tom中,example3_8_3.jsp存放在目錄cat中。用戶首先訪問example3_8_1.jsp頁面,從該頁面鏈接到example3_8_2.jsp頁面,然后再從example3_8_2.jsp頁面鏈接到example3_8_3.jsp。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.4.2session對象存取數(shù)據(jù)使用session對象可以保存用戶在訪問某個Web服務(wù)期間的有關(guān)數(shù)據(jù)。有關(guān)處理數(shù)據(jù)的方法如下:

public

void

setAttribute(Stringkey,Objectobj)將參數(shù)obj指定的對象保存到session對象中,key為所保存的對象指定一個關(guān)鍵字。若保存的兩個對象關(guān)鍵字相同,則先保存的對象被清除。

publicObjectgetAttibute(Stringkey)獲取session中關(guān)鍵字是key的對象。

publicvoidremoveAttribute(Stringkey)從session中刪除關(guān)鍵字key所對應(yīng)的對象。

publicEnumerationgetAttributeNames()產(chǎn)生一個枚舉對象,該枚舉對象可使用方法nextElemets()遍歷session中各個對象所對應(yīng)的關(guān)鍵字。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.4.2session對象存取數(shù)據(jù)【例3-9】使用session對象模擬在線考試系統(tǒng)。編寫3個JSP頁面example3_9_1.jsp、example3_9_2.jsp和example3_9_3.jsp,在example3_9_1.jsp頁面中考試,在example3_9_2.jsp頁面中顯示答題結(jié)果,在example3_9_3.jsp頁面中計算并公布考試成績。首先運(yùn)行example3_9_1.jsp頁面,效果如圖3.5(a)~3.5(c)所示。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.4.3session對象的生存期限一個用戶在某個Web服務(wù)中session對象的生存期限依賴于以下幾個因素: 用戶是否關(guān)閉瀏覽器。

session對象是否調(diào)用invalidate()方法。

session對象是否達(dá)到設(shè)置的最長“發(fā)呆”時間?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

號方

法功

明1longgetCreationTime()

返回session創(chuàng)建時間2longgetLastAccessedTime()返回此session里客戶端最近一次請求時間3intgetMaxInactiveInterval()

返回兩次請求間隔時間(單位是秒)4voidinvalidate()

使session失效5booleanisNew()判斷客戶端是否已經(jīng)加入服務(wù)器創(chuàng)建的session6voidsetMaxInactiveInterval()設(shè)置兩次請求間隔時間(單位是秒)3.4.3session對象的生存期限【例3-10】編寫1個JSP頁面example3_10.jsp。如果用戶是第一次訪問該頁面,會顯示歡迎信息,并輸出session對象允許的最長發(fā)呆時間、創(chuàng)建時間,以及session對象的ID。在example3_10.jsp頁面中,session對象使用setMaxInactiveInterval(int

maxValue)方法設(shè)置最長的“發(fā)呆”狀態(tài)時間為10秒。用戶如果兩次刷新間隔時間超過10秒,用戶先前的session被取消,用戶將獲得一個新的session對象?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.4.4實踐環(huán)節(jié)——購物車用戶到便民超市采購商品,購物前需要先登錄會員卡號,購物時先將選購的商品放入購物車,最后到柜臺清點商品。請借助于session對象模擬購物車,并存儲客戶的會員卡號和購買的商品名稱。會員卡號輸入后可以修改,購物車中的商品可以查看。編寫程序模擬上述過程。loginID.jsp實現(xiàn)會員卡號輸入,shop.jsp實現(xiàn)商品導(dǎo)購,food.jsp實現(xiàn)商品購物,count.jsp實現(xiàn)清點商品。本節(jié)實踐環(huán)節(jié)的4個JSP頁面都保存在目錄practice4中,先運(yùn)行l(wèi)oginID.jsp頁面?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

學(xué)習(xí)目的與要求《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1request對象3.2response對象3.3out對象3.4session對象3.5application對象3.6pageContext對象3.7page對象3.8config對象3.9exception對象3.10JSP的4種作用域3.5.1什么是application不同用戶的session對象互不相同,但有時候用戶之間可能需要共享一個對象,Web服務(wù)器啟動后,就產(chǎn)生了這樣一個唯一的內(nèi)置對象application。application對象實現(xiàn)了jakarta.servlet.ServletContext接口。任何用戶在訪問同一個Web服務(wù)的各個頁面時,共享一個application對象,直到服務(wù)器關(guān)閉,這個application對象才被取消?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.5.2application對象存取數(shù)據(jù)application同session對象一樣也可以進(jìn)行數(shù)據(jù)存取,處理數(shù)據(jù)的方法如下:

publicvoidsetAttribute(Stringkey,Objectobj)將參數(shù)obj指定的對象保存到application對象中,key為所保存的對象指定一個關(guān)鍵字。若保存的兩個對象關(guān)鍵字相同,則先保存的對象被清楚。

publicObjectgetAttribute(Stringkey)獲取application中關(guān)鍵字是key的對象。

publicvoidremoveAttribute(Stringkey)從application中刪除關(guān)鍵字key所對應(yīng)的對象。

publicEnumerationgetAttributeNames()產(chǎn)生一個枚舉對象,該枚舉對象可使用方法nextElemets()遍歷application中各個對象所對應(yīng)的關(guān)鍵字?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.5.2application對象存取數(shù)據(jù)【例3-11】用application對象模擬“成語接龍”,用戶通過example3_11_1.jsp向example3_11_2.jsp頁面提交四字成語,example3_11_2.jsp頁面獲取成語內(nèi)容后,用同步方法將該成語內(nèi)容和以前的成語內(nèi)容進(jìn)行連接,然后將這些四字成語內(nèi)容添加到application對象中。頁面運(yùn)行效果如圖3.8(a)~3.8(b)所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.5.3實踐環(huán)節(jié)——網(wǎng)站訪客計數(shù)器使用application對象實現(xiàn)網(wǎng)站訪客計數(shù)器的功能?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

學(xué)習(xí)目的與要求《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1request對象3.2response對象3.3out對象3.4session對象3.5application對象3.6pageContext對象3.7page對象3.8config對象3.9exception對象3.10JSP的4種作用域3.6pageContext對象pageContext對象即頁面上下文對象,表示當(dāng)前頁面運(yùn)行環(huán)境,用于獲取當(dāng)前JSP頁面的相關(guān)信息,它的作用范圍為當(dāng)前JSP頁面。pageContext對象的類型為jakarta.servlet.jsp.PageContext。pageContext對象可以訪問當(dāng)前JSP頁面的所有內(nèi)置對象,如表3.4所示。另外,pageContext對象提供了存取屬性方法,如表3.5所示。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.6pageContext對象《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

號方

法功

明1ServletRequestgetRequest()

獲取當(dāng)前JSP頁面的請求對象2ServletResponsegetResponse()獲取當(dāng)前JSP頁面的響應(yīng)對象3HttpSessiongetSession()

獲取和當(dāng)前JSP頁面有關(guān)的會話對象4ServletConfiggetServletConfig()

獲取當(dāng)前JSP頁面的ServletConfig對象5ServletContextgetServletContext()

獲取當(dāng)前JSP頁面的運(yùn)行環(huán)境的application對象6ObjectgetPage()獲取當(dāng)前JSP頁面的Servlet實體的page對象7ExceptiongetException()獲取當(dāng)前JSP頁面的異常對象exception,這時此頁面的page指令的isErrorPage屬性要設(shè)置為true8JspWritergetOut()

獲取當(dāng)前JSP頁面的輸出流out對象序

號方

法功

明1ObjectgetAttributet(Stringkey,intscope)

獲取范圍為scope,關(guān)鍵字為key的屬性對象2voidsetAttribute(Stringkey,Objectvalue,intscope)以K/V對的方式存儲scope范圍域?qū)傩詫ο?voidremoveAttribute(Stringkey,intscope)

從scope范圍移除關(guān)鍵字為key的屬性對象4EnumerationgetAttributeNamesInScope(intscope)

從scope范圍中獲取所有屬性對象對應(yīng)的關(guān)鍵字3.6pageContext對象【例3-12】編寫1個JSP頁面example3_12.jsp,在該頁面中使用pageContext對象添加和獲取請求域?qū)傩灾??!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

學(xué)習(xí)目的與要求《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.1request對象3.2response對象3.3out對象3.4session對象3.5application對象3.6pageContext對象3.7page對象3.8config對象3.9exception對象3.10JSP的4種作用域3.7page對象page對象是一個與Servlet有關(guān)的內(nèi)置對象,它表示JSP文件轉(zhuǎn)譯后的Servlet對象,代表JSP頁面本身即this。因此它可以調(diào)用Servlet類所定義的方法。page對象的類型為jakarta.servlet.jsp.HttpJspPage,在實際應(yīng)用中,很少在JSP頁面使用page對象?!纠?-13】編寫1個JSP頁面example3_13.jsp,在該頁面中使用page指令的info屬性設(shè)置頁面的說明信息,并分別使用this和page對象獲取頁面的說明信息?!禞avaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.8config對象config對象即頁面配置對象,表示當(dāng)前JSP頁面轉(zhuǎn)譯后的Servlet的ServletConfig對象,存儲著一些初始數(shù)據(jù)。config對象實現(xiàn)了jakarta.servlet.ServletConfig接口。config對象和page對象一樣,也很少被用到?!纠?-14】編寫1個JSP頁面example3_14.jsp,在該頁面中使用config對象獲得當(dāng)前JSP頁面轉(zhuǎn)譯Java后的Servlet對象名。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.9exception對象exception對象是一個與Error有關(guān)的內(nèi)置對象,表示JSP頁面產(chǎn)生的異常。如果一個JSP頁面需要使用此對象,必須將頁面中page指令的isErrorPage屬性設(shè)置為true,否則無法編譯?!纠?-15】編寫兩個JSP頁面example3_15.jsp和example3_15_1.jsp。在頁面example3_15.jsp中使用語句“exception.printStackTrace(response.getWriter());”輸出JSP頁面產(chǎn)生的異常信息;在example3_15_1.jsp頁面中產(chǎn)生數(shù)組越界異常,并設(shè)置該頁面page指令的errorPage屬性值為example3_15.jsp。《JavaWeb開發(fā)從入門到實戰(zhàn)(微課視頻版)(IntelliJIDEA版)》陳恒

主編,清華大學(xué)出版社,2024

3.10JSP的4種作用域?qū)ο蟮淖饔糜蚓褪菍ο蟮纳芷诤涂稍L問性,在JSP中有4種作用域:頁面域、請求域、會話域和應(yīng)用域。1.頁面域頁面域(page

scope),它的生命周期是指頁面執(zhí)行期間。存儲在頁面域的對象只能在它所在頁面被訪問。2.請求域請求域(request

scope),它的生命周期是指一次請求過程,包括請求被轉(zhuǎn)發(fā)(forward)或者被包含(include)的情況。存儲在請求域中的對象只有在此次請求過程中才可以被訪問。3.會話域會話域(session

scope),它的生命周期是指某個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論