版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、項(xiàng)目三 JSP內(nèi)置對象 3.1 掌握J(rèn)SP內(nèi)置對象的語法規(guī)范 3.2 精通JSP內(nèi)置對象的應(yīng)用 3.3 熟練使用JSP開發(fā)環(huán)境JSP內(nèi)置對象是不需要聲明和創(chuàng)建就可以在JSP頁面腳本中使用的成員變量。通過這些內(nèi)置對象,可以實(shí)現(xiàn)響應(yīng)客戶端的請求、向客戶端發(fā)送數(shù)據(jù)等功能。本章將詳細(xì)介紹內(nèi)置對象的使用方法。23 七月 202223.1 了解JSP內(nèi)置對象及其相互聯(lián)系任務(wù)要求:本任務(wù)要求理解JSP九個(gè)內(nèi)置對象的主要功能,了解它們之間的相互聯(lián)系。任務(wù)實(shí)現(xiàn):(一)JSP內(nèi)置對象概述JSP提供了9個(gè)內(nèi)置對象,這些對象在JSP環(huán)境下,不需要預(yù)先聲明和創(chuàng)建就能直接使用。這9個(gè)內(nèi)置對象分別是:request、res
2、ponse、application、session、out、pageContext、page、exception其功能如表所示。23 七月 202233.1 了解JSP內(nèi)置對象及其相互聯(lián)系23 七月 202243.1 了解JSP內(nèi)置對象及其相互聯(lián)系(二)內(nèi)置對象之間的聯(lián)系1. request內(nèi)置對象與response內(nèi)置對象JSP頁面之所以具備與用戶交互的功能,關(guān)鍵在于request內(nèi)置對象與response內(nèi)置對象,request內(nèi)置對象讓服務(wù)器取得用戶在網(wǎng)頁表單中所輸入的數(shù)據(jù)內(nèi)容,response內(nèi)置對象則提供服務(wù)器端程序響應(yīng)客戶端信息所需的功能。23 七月 202253.1 了解JSP內(nèi)
3、置對象及其相互聯(lián)系2. application內(nèi)置對象與session內(nèi)置對象 application與session這兩個(gè)內(nèi)置對象主要用于記錄和處理JSP頁面之間的共享數(shù)據(jù)。由于因特網(wǎng)本身是一種無聯(lián)機(jī)狀態(tài)的應(yīng)用程序,當(dāng)一份網(wǎng)頁文件從網(wǎng)站服務(wù)器傳至客戶端的瀏覽器之后,客戶端與服務(wù)器之間就沒有任何聯(lián)機(jī)狀態(tài)存在,這個(gè)先天缺陷讓網(wǎng)頁無法存儲應(yīng)用程序運(yùn)行期間所需的共享數(shù)據(jù),application內(nèi)置對象與session內(nèi)置對象就是用來解決這樣的問題的。23 七月 202263.1 了解JSP內(nèi)置對象及其相互聯(lián)系3. out內(nèi)置對象JSP頁面是一種動態(tài)的網(wǎng)頁,與HTML這一類靜態(tài)文件的最大不同,在于同一
4、網(wǎng)頁經(jīng)過程序運(yùn)算得以根據(jù)各種條件及情況進(jìn)行不同呈現(xiàn)。out內(nèi)置對象在這一方面提供相關(guān)支持,服務(wù)器端利用out內(nèi)置對象將所要輸出的內(nèi)容,在傳送至網(wǎng)頁的時(shí)候動態(tài)寫入客戶端。23 七月 202273.1 了解JSP內(nèi)置對象及其相互聯(lián)系4. config、pageContext以及page內(nèi)置對象這三個(gè)內(nèi)置對象被用于存取JSP頁面運(yùn)行階段的各種信息內(nèi)容,其中config內(nèi)置對象包含JSP頁面被編譯成為Servlet之后的相關(guān)信息;pageContext內(nèi)置對象則是提供系統(tǒng)運(yùn)行期間的各種信息內(nèi)容的存取操作功能;page內(nèi)置對象代表目前正在運(yùn)行的JSP網(wǎng)頁對象。5. exception內(nèi)置對象except
5、ion內(nèi)置對象為JSP提供用于處理程序運(yùn)行錯(cuò)誤的異常對象,此對象搭配功能強(qiáng)大的異常處理機(jī)制,運(yùn)用于JSP網(wǎng)頁的程序除錯(cuò)和異常處理上。23 七月 202283.1 了解JSP內(nèi)置對象及其相互聯(lián)系(三)內(nèi)置對象的生命周期session、application、pageContext和request內(nèi)置對象實(shí)現(xiàn)數(shù)據(jù)在網(wǎng)頁間的傳遞,但其作用域各不相同,JSP提供了四種屬性的保存范圍:(1)page 設(shè)置的屬性只在當(dāng)前頁面有效;(2)request 設(shè)置的屬性在一次請求范圍內(nèi)有效;(3)session 設(shè)置的屬性有效期在客戶瀏覽器域服務(wù)器一次會話范圍內(nèi),如果服務(wù)器斷開連接,那么該屬性就失效了;(4)ap
6、plication 設(shè)置的屬性在服務(wù)器一開始執(zhí)行服務(wù),直到服務(wù)器關(guān)閉為止。23 七月 202293.1 了解JSP內(nèi)置對象及其相互聯(lián)系各內(nèi)置對象對應(yīng)的作用域見表。23 七月 2022103.2 掌握request內(nèi)置對象的常用方法及應(yīng)用任務(wù)要求:本任務(wù)要求認(rèn)知request內(nèi)置對象的常用方法,并熟練掌握request內(nèi)置對象的應(yīng)用。任務(wù)實(shí)現(xiàn):(一)request內(nèi)置對象的常用方法request內(nèi)置對象主要用于接受客戶端通過HTTP協(xié)議連接傳輸?shù)椒?wù)器端的數(shù)據(jù),它通常是HttpServletRequest的子類,其作用域就是一次request請求。request內(nèi)置對象的常用方法如表所示。23
7、七月 2022113.2 掌握request內(nèi)置對象的常用方法及應(yīng)用23 七月 2022123.2 掌握request內(nèi)置對象的常用方法及應(yīng)用(二)request內(nèi)置對象應(yīng)用實(shí)例【例1】利用request內(nèi)置對象獲取信息并顯示的實(shí)例本例包括兩個(gè)文件:requestLogin.jsp和requestShowInfo.jsp。在requestLogin.jsp頁面中輸入用戶名和密碼,在requestShowInfo.jsp頁面中利用request內(nèi)置對象的方法將輸入的用戶名、密碼等信息顯示出來。requestLogin.jsp的代碼如圖所示:23 七月 2022133.2 掌握request內(nèi)置對
8、象的常用方法及應(yīng)用23 七月 2022143.2 掌握request內(nèi)置對象的常用方法及應(yīng)用requestShowInfo.jsp的代碼如圖3.2所示:23 七月 2022153.2 掌握request內(nèi)置對象的常用方法及應(yīng)用requestLogin.jsp的運(yùn)行效果如圖所示。23 七月 2022163.2 掌握request內(nèi)置對象的常用方法及應(yīng)用單擊“OK”按鈕后出現(xiàn)所示的結(jié)果。23 七月 2022173.3 掌握response內(nèi)置對象的常用方法及應(yīng)用任務(wù)要求:本任務(wù)要求認(rèn)知response內(nèi)置對象的常用方法,并熟練掌握response內(nèi)置對象的應(yīng)用。任務(wù)實(shí)現(xiàn):(一)response內(nèi)置
9、對象常用方法response內(nèi)置對象用于將服務(wù)器端數(shù)據(jù)發(fā)送給客戶端以響應(yīng)客戶端的請求。response內(nèi)置對象的常用方法如表所示。23 七月 2022183.3 掌握response內(nèi)置對象的常用方法及應(yīng)(二)response內(nèi)置對象應(yīng)用實(shí)例【例2】利用response內(nèi)置對象控制刷新頻率的實(shí)例在responseRefresh.jsp頁面中設(shè)置頁面刷新的頻率,并在頁面中實(shí)時(shí)顯示當(dāng)時(shí)的時(shí)間。responseRefresh.jsp的代碼如圖所示:23 七月 2022193.3 掌握response內(nèi)置對象的常用方法及應(yīng)23 七月 2022203.3 掌握response內(nèi)置對象的常用方法及應(yīng) re
10、sponseRefresh.jsp的運(yùn)行效果如圖所示:23 七月 2022213.4 掌握out內(nèi)置對象的常用方法及應(yīng)用任務(wù)要求:本任務(wù)要求認(rèn)知out內(nèi)置對象的常用方法,并熟練掌握out內(nèi)置對象的應(yīng)用。任務(wù)實(shí)現(xiàn):(一)out內(nèi)置對象常用方法out內(nèi)置對象是JspWriter類的實(shí)例,是向客戶端輸出內(nèi)容常用的對象。out內(nèi)置對象的常用方法如表所示。23 七月 2022223.4 掌握out內(nèi)置對象的常用方法及應(yīng)用23 七月 2022233.4 掌握out內(nèi)置對象的常用方法及應(yīng)用(二)out內(nèi)置對象應(yīng)用實(shí)例【例3】利用out內(nèi)置對象進(jìn)行輸出的實(shí)例本例在out.jsp中,利用out內(nèi)置對象的prin
11、tln(datatype data)方法將指定內(nèi)容輸出,并利用out內(nèi)置對象的getBuffersize()和getRemaining()方法分別獲取緩沖區(qū)及其剩余空間的大小。out.jsp的代碼如圖所示:23 七月 2022243.4 掌握out內(nèi)置對象的常用方法及應(yīng)用out.jsp頁面的運(yùn)行效果如圖所示:23 七月 2022253.5 掌握session內(nèi)置對象的常用方法及應(yīng)用任務(wù)要求:本任務(wù)要求認(rèn)知session內(nèi)置對象的常用方法,并熟練掌握session內(nèi)置對象的應(yīng)用。任務(wù)實(shí)現(xiàn):(一)session的概念 session(會話)一詞其本來的含義是指有始有終的一系列動作/消息,比如打電話
12、時(shí)從拿起電話撥號到掛斷電話這一系列過程可以稱之為一個(gè)session。在網(wǎng)絡(luò)應(yīng)用中,session對象存儲特定用戶會話的屬性及配置信息。這樣,當(dāng)用戶在應(yīng)用程序的Web頁之間跳轉(zhuǎn)時(shí),存儲在session中的變量將不會丟失,而是在整個(gè)用戶會話中一直存在下去。當(dāng)用戶請求來自應(yīng)用程序的 Web 頁時(shí),如果該用戶還沒有會話,則 Web 服務(wù)器將自動創(chuàng)建一個(gè) Session 對象。當(dāng)會話過期或被放棄后,服務(wù)器將終止該會話。23 七月 2022263.5 掌握session內(nèi)置對象的常用方法及應(yīng)用(二)session內(nèi)置對象常用方法23 七月 2022273.5 掌握session內(nèi)置對象的常用方法及應(yīng)用【例
13、4】利用session內(nèi)置對象統(tǒng)計(jì)訪問站點(diǎn)人數(shù)的實(shí)例本例在sessionCount.jsp中,利用session內(nèi)置對象中的isNew()方法判斷當(dāng)前是否為一個(gè)新創(chuàng)的session,如果是則訪問數(shù)加1,否則訪問數(shù)不變。seesionCount.jsp的代碼如圖所示:23 七月 2022283.5 掌握session內(nèi)置對象的常用方法及應(yīng)用23 七月 2022293.5 掌握session內(nèi)置對象的常用方法及應(yīng)用第一次運(yùn)行sessionCount.jsp時(shí),效果如圖所示。23 七月 2022303.5 掌握session內(nèi)置對象的常用方法及應(yīng)用在瀏覽器中刷新頁面時(shí),由于沒有創(chuàng)建新的會話,所以訪問
14、人數(shù)并不會有變化;當(dāng)關(guān)閉瀏覽器(即關(guān)閉客戶端與服務(wù)器當(dāng)前對話)后,再次打開該頁面,訪問人數(shù)才會增加,如圖所示。23 七月 2022313.6 掌握application內(nèi)置對象的常用方法及應(yīng)用任務(wù)要求:本任務(wù)要求認(rèn)知application內(nèi)置對象的常用方法,并熟練掌握application內(nèi)置對象的應(yīng)用。任務(wù)實(shí)現(xiàn):(一)application內(nèi)置對象常用方法在前一個(gè)任務(wù)中,我們講了在JSP頁面中使用session來存儲每個(gè)用戶的私有信息,但是有時(shí)候服務(wù)器需要管理面向整個(gè)應(yīng)用的參數(shù),使得每個(gè)用戶都能活的相同的參數(shù)值,這時(shí)我們就需要用到application內(nèi)置對象。 application對服務(wù)
15、器而言,可以視為一個(gè)所有聯(lián)機(jī)用戶共享的數(shù)據(jù)存取區(qū),application中的變量數(shù)據(jù)在程序設(shè)置其值時(shí)被初始化,而當(dāng)網(wǎng)頁服務(wù)器被關(guān)閉,或者超過預(yù)設(shè)時(shí)間而未有任何用戶聯(lián)機(jī)時(shí)將自動消失。對每一個(gè)聯(lián)機(jī)瀏覽網(wǎng)頁的用戶來說,application對象用于存儲其共享數(shù)據(jù),無論是網(wǎng)站中任何一個(gè)網(wǎng)頁,用戶存取的數(shù)據(jù)內(nèi)容均相同,可以將其視為傳統(tǒng)應(yīng)用程序中的全局共享數(shù)據(jù)。23 七月 2022323.6 掌握application內(nèi)置對象的常用方法及應(yīng)用任務(wù)要求:本任務(wù)要求認(rèn)知application內(nèi)置對象的常用方法,并熟練掌握application內(nèi)置對象的應(yīng)用。任務(wù)實(shí)現(xiàn):(一)application內(nèi)置對象常用方
16、法在前一個(gè)任務(wù)中,我們講了在JSP頁面中使用session來存儲每個(gè)用戶的私有信息,但是有時(shí)候服務(wù)器需要管理面向整個(gè)應(yīng)用的參數(shù),使得每個(gè)用戶都能活的相同的參數(shù)值,這時(shí)我們就需要用到application內(nèi)置對象。 application對服務(wù)器而言,可以視為一個(gè)所有聯(lián)機(jī)用戶共享的數(shù)據(jù)存取區(qū),application中的變量數(shù)據(jù)在程序設(shè)置其值時(shí)被初始化,而當(dāng)網(wǎng)頁服務(wù)器被關(guān)閉,或者超過預(yù)設(shè)時(shí)間而未有任何用戶聯(lián)機(jī)時(shí)將自動消失。對每一個(gè)聯(lián)機(jī)瀏覽網(wǎng)頁的用戶來說,application對象用于存儲其共享數(shù)據(jù),無論是網(wǎng)站中任何一個(gè)網(wǎng)頁,用戶存取的數(shù)據(jù)內(nèi)容均相同,可以將其視為傳統(tǒng)應(yīng)用程序中的全局共享數(shù)據(jù)。app
17、lication內(nèi)置對象的常用方法如下表所示。23 七月 2022333.6 掌握application內(nèi)置對象的常用方法及應(yīng)用23 七月 2022343.6 掌握application內(nèi)置對象的常用方法及應(yīng)用(二)application內(nèi)置對象應(yīng)用實(shí)例【例5】利用application內(nèi)置對象實(shí)現(xiàn)共享留言板的實(shí)例本例在inputMessage.jsp中,通過表單呈現(xiàn)出留言板,并搜集用戶填寫的內(nèi)容。在checkMessage.jsp中,接受表單中傳遞過來的信息,加以修飾,并通過application內(nèi)置對象中的setAttribute(String name)方法將用戶填寫的信息存入相應(yīng)的全局
18、變量。在showMessage.jsp中,通過application內(nèi)置對象中的getAttribute(String name)獲取全局變量的值,并以適當(dāng)?shù)男问斤@示出來。相應(yīng)的代碼依次如下圖所示。23 七月 2022353.6 掌握application內(nèi)置對象的常用方法及應(yīng)用23 七月 2022363.6 掌握application內(nèi)置對象的常用方法及應(yīng)用23 七月 2022373.6 掌握application內(nèi)置對象的常用方法及應(yīng)用23 七月 2022383.6 掌握application內(nèi)置對象的常用方法及應(yīng)用運(yùn)行inputMessage.jsp的效果如圖所示23 七月 202239
19、3.6 掌握application內(nèi)置對象的常用方法及應(yīng)用用戶填寫相應(yīng)的信息后單擊“留言”按鈕,則會將信息傳送至checkMessage.jsp,運(yùn)行效果如圖所示,單擊“返回留言板”,就會通過超級鏈接返回留言界面(inputMessage.jsp頁面)。23 七月 2022403.6 掌握application內(nèi)置對象的常用方法及應(yīng)用在inputMessage.jsp頁面中單擊“查看留言板”,則可以查看所有用戶的歷史留言,如圖所示。 23 七月 2022413.7 拓展實(shí)訓(xùn)任務(wù)要求:完成一個(gè)網(wǎng)上調(diào)查網(wǎng)站,進(jìn)一步掌握J(rèn)SP的內(nèi)置對象。任務(wù)實(shí)現(xiàn):(一)問卷調(diào)查網(wǎng)頁的運(yùn)行效果人們在日常生活當(dāng)中,經(jīng)常
20、會參與一些問卷調(diào)查。本任務(wù)是完成一個(gè)類似網(wǎng)上調(diào)查的網(wǎng)站,效果如下圖所示。23 七月 2022423.7 拓展實(shí)訓(xùn)首先需要受訪者填寫姓名并選擇性別23 七月 2022433.7 拓展實(shí)訓(xùn)受訪者選擇自己的業(yè)余愛好,當(dāng)單擊“下一步”23 七月 2022443.7 拓展實(shí)訓(xùn)頁面能夠顯示出用戶選擇的信息,同時(shí)將當(dāng)前調(diào)查的統(tǒng)計(jì)結(jié)果顯示出來23 七月 2022453.7 拓展實(shí)訓(xùn)頁面能夠顯示出用戶選擇的信息,同時(shí)將當(dāng)前調(diào)查的統(tǒng)計(jì)結(jié)果顯示出來23 七月 2022463.7 拓展實(shí)訓(xùn)(二)功能設(shè)計(jì)1. 創(chuàng)建工程啟動IntelliJ IDEA,創(chuàng)建Web應(yīng)用chapter3。展開工程,在web文件夾下創(chuàng)建imag
21、es子文件夾,并將top.jpg導(dǎo)入到images文件夾中。在web文件夾下創(chuàng)建JSP類型文件index.jsp、hobby.jsp、result.jsp和HTML類型文件top.html。2. top.html功能設(shè)計(jì) 如圖2-10、圖2-11、圖2-12、圖2-13所示,該問卷調(diào)查網(wǎng)站每個(gè)頁面的題頭部分都有相同的Logo圖片,我們將這一部分單獨(dú)寫成一個(gè)頁面top.html,將Logo圖片top.jpg插入到top.html中,并通過include指令標(biāo)記將top.html插入到每一個(gè)網(wǎng)頁中。23 七月 2022473.7 拓展實(shí)訓(xùn)2. index.jsp功能設(shè)計(jì)主頁面index.jsp的運(yùn)行效果如圖2-10所示,其中,首先通過page指令設(shè)定頁面的相關(guān)屬性,并通過include指令標(biāo)記將top.html插入到頁面中,再建立表單,將“姓名”文本框命名為name,將“性別”單選按鈕命名為sex,取值分別為male 和female,默認(rèn)值為“男”,處理表單信息的頁面為hobby.jsp。代碼如下:23 七月 2022483.7 拓展實(shí)訓(xùn)23 七月 2022493.7 拓展實(shí)訓(xùn)4. result.jsp功能設(shè)計(jì)獲取hobby.jsp頁面?zhèn)鬟f過來的信息,由于需要對所有受訪者的選擇結(jié)果進(jìn)行統(tǒng)計(jì),
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026廣西柳州市防洪辦公室招聘編外人員1人備考題庫及答案詳解(各地真題)
- 2026安徽馬鞍山經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管委會面向全省選調(diào)事業(yè)單位人員3人備考題庫附答案詳解ab卷
- 2026上半年安徽事業(yè)單位聯(lián)考蕪湖市招聘287人備考題庫附答案詳解ab卷
- 2026云南野生動物園招聘3人備考題庫附參考答案詳解(典型題)
- 2026云南眾城現(xiàn)代產(chǎn)業(yè)合作發(fā)展有限責(zé)任公司招聘備考題庫附參考答案詳解(典型題)
- 2026山東青島市人力資源集團(tuán)有限公司招聘14人備考題庫含答案詳解ab卷
- 水泥穩(wěn)定碎石基層施工方案
- 2026年海洋能發(fā)電公司采購設(shè)備與物料規(guī)格確認(rèn)制度
- 句法依存分析-洞察與解讀
- 動態(tài)路徑規(guī)劃策略研究-洞察與解讀
- 2026四川涼山州雷波縣糧油貿(mào)易總公司面向社會招聘6人考試參考題庫及答案解析
- 量子科普知識
- 2025至2030中國航空安全行業(yè)市場深度研究與戰(zhàn)略咨詢分析報(bào)告
- 包裝標(biāo)準(zhǔn)規(guī)范要求
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- 碧桂園資金池管理制度
- 數(shù)字媒體藝術(shù)史全冊完整教學(xué)課件
- 維保電梯應(yīng)急方案范文
- 小學(xué)文言文重點(diǎn)字詞解釋梳理
- 交通船閘大修工程質(zhì)量檢驗(yàn)規(guī)范
- GB/T 2879-2024液壓傳動液壓缸往復(fù)運(yùn)動活塞和活塞桿單向密封圈溝槽的尺寸和公差
評論
0/150
提交評論