版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單元2基于JSP內置對象的Web應用程序開發(fā)單元2基于JSP內置對象的Web應用程序開發(fā)熟練掌握和靈活應用這些內置對象,對于Java Web程序開發(fā)人員來說至關重要的。本單元主要應用這些內置對象開發(fā)Web應用程序?!締栴}探析】【問題1】JSP與Servlet有何關系【問題2】JSP頁面的HTML文本代碼轉譯成Servlet類代碼有何變化?JSP頁面的HTML文本代碼轉譯成Servlet類代碼時,將HTML文本代碼使用out.write()方法包裹起來,例如,對于圖2-2左邊的HTML代碼轉譯為Servlet類后,代碼如右邊所示。<html><head><title
2、>測試</title></head><body><h3> Hello!JSP </h3></body></html>out.write("<html>rn");out.write(" <head>rn");out.write(" <title>測試</title>rn");out.write(" </head>rn");out.write(" <bod
3、y>rn");out.write(" <h3>Hello!JSP </h3>rn");out.write(" </body>rn");out.write("</html>rn");圖2-2JSP頁面的HTML文本代碼轉譯成Servlet類代碼【知識必備】1JSP的內置對象簡介在JSP中提供的9個內置對象,分別為request、response、session、application、out、page、pageContext、config和exception。(1)requ
4、est對象request對象的作用是獲取客戶端的請求信息,主要用于接收通過HTTP協(xié)議傳送到服務器端的數(shù)據(jù),客戶端可以通過表單提交或者地址重定向發(fā)送參數(shù)。(2)response對象response對象的作用是對客戶端的請求做出響應,將Web服務器的處理結果返回給客戶端。(3)session對象session對象是由服務器自動創(chuàng)建的與用戶請求相關的對象,服務器為每一個用戶都生成一個session對象,用于保存該用戶的信息,跟蹤用戶的操作狀態(tài)。(4)application對象application對象可以將所有用戶的共享信息保存在服務器中,直到服務器關閉,否則application對象中保存的信息
5、會在整個應用中都有效,使得每個用戶都能訪問該對象。(5)out對象out對象用于在Web瀏覽器內輸出信息,并且管理服務器上的輸出緩沖區(qū)。(6)page對象page對象代表JSP本身,只有在JSP頁面內才是合法的。(7)pageContext對象pageContext對象主要用于取得任何范圍的參數(shù),通過它可以獲取JSP頁面的request、response、session、application、out等對象。(8)config對象config對象主要用于獲取服務器的配置信息,通過pageContext對象的getServletConfig()方法可以獲取一個config對象。(9)except
6、ion對象exception對象用于顯示異常信息,在頁面如果要使用exception對象,必須將該頁面page指令的isErrorPage屬性設置為true2cookie對象簡介cookie是保存在用戶硬盤上的一段文本,允許Web站點在用戶的計算機上保存信息并且隨后再將其取回。3JSP主要內置對象有效作用范圍比較(1)page對象只在同一個JSP頁面內有效。(2)response對象只在JSP頁面(包括當前JSP頁面中使用<% include>標簽、<jsp:include>標簽和<forward>標簽包含的其他JSP頁面)內有效。(3)request對象在
7、一次訪問請求內有效,服務器跳轉后依然有效,但客戶端跳轉后無效。(4)session對象在一次會話范圍內有效,無論是客戶端跳轉還是服務器端跳轉都有效,但瀏覽器關閉后則無效。(5)application對象在服務器中保存所有用戶的共享信息,該對象中保存的信息在整個應用中都有效,使得每個用戶都能訪問該對象?!静僮鞅貍洹浚?)準備開發(fā)Web應用程序所需的圖片文件、CSS樣式文件和驗證用的Javascript文件。(2)啟動Eclipse,設置工作空間為Unit02,然后進入Eclipse的開發(fā)環(huán)境。(3)在Eclipse集成開發(fā)環(huán)境中配置與啟動Tomcat服務器。(4)新建動態(tài)Web項目unit02。
8、【基礎應用】【任務2-1】使用request對象獲取表單的信息【任務描述】Web應用最重要的特點是交互性,而實現(xiàn)交互性的重要內置對象是request對象??蛻舳吮韱沃休斎氲男畔ⅲ峤唤o服務器。通過request對象可以獲取表單中的輸入信息。創(chuàng)建一個有關旅游信息的調查網頁tourInfo2-1.html,然后使用request對象獲取表單中的信息,且在另一個JSP頁面task2-1.jsp中輸出這些旅游信息。【任務實施】(1)創(chuàng)建網頁tourInfo2-1.html在項目unit02中創(chuàng)建一個網頁tourInfo2-1.html,在該頁面中添加一個form表單,在單中分別添加文本框、單選按鈕、下
9、拉列表框、復選框和提交按鈕,其主要代碼如表2-1所示。(2)新建JSP文件task2-1.jsp在項目unit02中新建一個JSP文件task2-1.jsp,該文件接收tourInfo2-1.html頁面中表單提交的內容,并將表單信息顯示在頁面中。該文件的主要代碼如表2-2所示。(3)運行程序輸出結果運行網頁tourInfo2-1.html,然后在該網頁的表單中輸入姓名、選擇性別、選擇職業(yè)所屬類型、選擇平常會上的旅游網站,如圖2-3所示。接著單擊【提交】按鈕,在task2-1.jsp頁面中顯示的提交信息如圖2-4所示。【任務2-2】使用session對象實現(xiàn)頁面訪問控制與使用response對
10、象實現(xiàn)頁面選擇跳轉【任務描述】(1)創(chuàng)建JSP頁面task2-2.jsp,當用戶瀏覽該頁面時,首先驗證用戶是否為已經登錄的合法用戶。如果已成功登錄,則在頁面顯示歡迎信息,并且可以正常瀏覽網頁,同時顯示【退出】超鏈接。如果用戶沒有登錄過,則會顯示提示信息,并顯示相應的【登錄】超鏈接。(2)在JSP頁面task2-2.jsp單擊【登錄】超鏈接,進入登錄頁面,在登錄頁面輸入登錄信息,并向JSP頁面interim2-2.jsp進行數(shù)據(jù)提交,由JSP頁面interim2-2.jsp進行登錄數(shù)據(jù)的驗證,如果驗證通過,則保存用戶的登錄信息,并跳轉到JSP頁面task2-2.jsp;如果驗證未通過,則跳轉到顯
11、示錯誤提示信息的JSP頁面error2-2.jsp。(3)在JSP頁面task2-2.jsp中單擊【退出】超鏈接,進入JSP頁面logout2-2.jsp,該頁面實現(xiàn)定時跳轉功能。【任務實施】(1)創(chuàng)建JSP頁面task2-2.jsp在項目unit02中創(chuàng)建一個JSP頁面task2-2.jsp,其主要代碼如表2-3所示。(2)創(chuàng)建JSP頁面login2-2.jsp在項目unit02中創(chuàng)建一個JSP頁面login2-2.jsp,其主要代碼表2-4所示,將表單的action屬性設置為interim2-2.jsp。(3)創(chuàng)建JSP頁面interim2-2.jsp在項目unit02中創(chuàng)建一個JSP頁面
12、interim2-2.jsp,其主要代碼如表2-5所示。(4)創(chuàng)建JSP頁面logout2-2.jsp在項目unit02中創(chuàng)建一個JSP頁面logout2-2.jsp,其主要代碼如表2-6所示。(5)創(chuàng)建JSP頁面error2-2.jsp在項目unit02中創(chuàng)建一個JSP頁面error2-2.jsp,其主要代碼如下所示。<div class="logosearch w"> <img alt="頁面出錯" src="images/wrong_img.gif"></div>(6)運行程序輸出結果運行JS
13、P頁面task2-2.jsp,其運行結果如圖2-5所示。圖2-5JSP頁面task2-2.jsp的運行結果在JSP頁面task2-2.jsp中單擊【登錄】超鏈接,進入用戶登錄頁面,在該登錄頁面輸入“用戶名”和“密碼”,如圖2-6所示。然后單擊【登錄】按鈕,如果成功登錄,則跳轉到JSP頁面task2-2.jsp,如圖2-7所示。在JSP頁面task2-2.jsp中單擊【退出】超鏈接,進入JSP頁面logout2-2.jsp,顯示如圖2-8所示的信息,3秒鐘后自動跳轉到JSP頁面task2-2.jsp。圖2-8JSP頁面logout2-2.jsp中顯示的提示信息【任務2-3】使用applicati
14、on對象統(tǒng)計網站的在線人數(shù)【任務描述】application對象可以將信息保存在服務器,并且保存的信息在整個應用中都有效,直到服務器關閉。應用application對象統(tǒng)計網站的在線人數(shù)。【任務實施】(1)創(chuàng)建JSP頁面index2-3.jsp在項目unit02中創(chuàng)建一個JSP頁面index2-3.jsp,其主要代碼如表2-4所示,但不同的是這里將表單的action屬性值設置為“index2-3.jsp”,即向頁面本身提交數(shù)據(jù)。這里學習一種新的數(shù)據(jù)獲取與傳遞方法,本頁面實現(xiàn)數(shù)據(jù)獲取與傳遞的代碼如表2-7所示。(2)創(chuàng)建JSP頁面task2-3.jsp在項目unit02中創(chuàng)建一個JSP頁面tas
15、k2-3.jsp,其主要代碼如表2-8所示。由于服務器啟動時,第一次瀏覽網頁,application對象的屬性num的值為null,因此代碼2-8中第5行要判斷屬性值是否為空。如果同一個用戶多次刷新網頁,應不再增加在線人數(shù)的計數(shù),因此第7行要使用session的isNew()方法判斷是否為新用戶。(3)運行程序輸出結果運行JSP頁面index2-3.jsp,顯示登錄頁面,在該頁面中單擊【登錄】按鈕,顯示如圖2-9所示的頁面。圖2-9頁面task2-3.jsp的運行結果【任務2-4】使用application對象獲取數(shù)據(jù)庫的連接信息【任務描述】(1)在web.xml文件中通過配置<cont
16、ext-param>元素初始化數(shù)據(jù)庫的連接參數(shù)。(2)使用application對象的方法訪問web.xml獲取數(shù)據(jù)庫的連接參數(shù)。【任務實施】(1)新建動態(tài)Web項目unit021。創(chuàng)建新的動態(tài)Web項目unit021,并自動創(chuàng)建web.xml文件。(2)在web.xml文件配置<context-param>元素打開web.xml文件,添加多個<context-param>元素,通過配置該元素初始化數(shù)據(jù)庫的連接參數(shù),代碼如表2-9所示。(3)創(chuàng)建JSP頁面index2-4.jsp在項目unit021中創(chuàng)建一個JSP頁面index2-4.jsp,其主要代碼如表2-1
17、0所示(4)運行程序輸出結果JSP頁面index2-4.jsp的運行如圖2-10所示圖2-10JSP頁面index2-4.jsp的運行結果【任務2-5】通過cookie實現(xiàn)自動登錄【任務描述】(1)當用戶第一次登錄時,登錄頁面表單中用戶名和密碼為空。(2)當用戶提交過一次登錄表單后,將其登錄信息保存到客戶端本機的cookie中,用戶再次登錄時會從cookie中獲取用戶的用戶名和密碼并自動填入表單控件?!救蝿諏嵤浚?)創(chuàng)建JSP頁面login2-5.jsp在項目unit02中創(chuàng)建一個JSP頁面login2-5.jsp,在該頁面添加表單及控件,用于用戶輸入用戶名和密碼,其主要代碼如表2-11所示
18、。表2-11中第3行使用request對象的getCookies()方法獲取客戶端的cookie,第4行判斷是否包含有服務器發(fā)送的cookie。如果沒有,則說明該用戶是第一次登錄;如果有,則直接將用戶名和密碼讀取出來,并顯示在用戶名對應的文本框和密碼框中。(2)創(chuàng)建JSP頁面task2-5.jsp在項目unit02中創(chuàng)建一個JSP頁面task2-5.jsp,該頁面通過request對象將用戶輸入的用戶名和密碼提取出來,創(chuàng)建一個cookie對象,并通過reponse對象的addCookie()方法將其發(fā)送到客戶端,其主要代碼如表2-12所示。(3)運行程序輸出結果運行JSP頁面login2-5.
19、jsp,第一次登錄時在該頁面中分別輸入用戶名為“admin”,密碼為“123456”,如圖2-11所示,單擊【登錄】按鈕進行登錄。 圖2-11第一次登錄時在JSP頁面login2-5.jsp中輸入用戶名和密碼用戶再次登錄時用戶名和密碼自動顯示表單對應的控件中?!緷u進應用】【任務2-6】獲取用戶登錄信息【任務描述】(1)創(chuàng)建JavaScript文件validate.js,在該文件中編寫JavaScript代碼在用戶登錄時進行非空驗證和用戶名長度驗證。(2)創(chuàng)建一個用戶登錄頁面login2-6.jsp,在該頁面中添加一個表單,并在表單中添加輸入用戶名的文本框、輸入密碼的密碼框和【登錄】按鈕等多個表
20、單控件,其外觀效果如圖2-12所示。圖2-12用戶登錄頁面login2-6.jsp的外觀效果(3)用戶登錄時輸入登錄信息并單擊【登錄】按鈕提交登錄信息,“用戶名”和“密碼”經驗證為合法用戶則在另一個JSP頁面task2-6.jsp中獲取并顯示用戶的登錄信息。【任務實施】(1)創(chuàng)建JavaScript文件在項目unit02中創(chuàng)建一個JavaScript文件validate.js,在該文件編寫代碼在用戶登錄時進行非空驗證和用戶名長度驗證,其主要代碼如表2-13所示。(2)創(chuàng)建JSP頁面login2-6.jsp在項目unit02中創(chuàng)建一個JSP頁面login2-6.jsp,其外觀效果如圖2-12所示
21、,主要代碼如表2-14所示。(3)創(chuàng)建JSP頁面task2-6.jsp在項目unit02中創(chuàng)建一個JSP頁面task2-6.jsp,其主要代碼如表2-15所示。(4)運行程序輸出結果運行JSP頁面login2-6.jsp,在登錄頁面中的表單控件中分別輸入用戶名為“admin”,密碼為“123456”,單擊【登錄】按鈕提交登錄信息,并在頁面task2-6.jsp中顯示用戶輸入的用戶名和密碼,如圖2-13所示。圖2-13頁面task2-6.jsp中顯示用戶輸入的用戶名和密碼【任務2-7】獲取用戶注冊信息【任務描述】(1)創(chuàng)建一個用戶注冊頁面register2-7.jsp,在該頁面中添加一個表單,并
22、在表單中添加輸入用戶名的文本框、輸入密碼的密碼框、輸入Email的文本框、輸入驗證碼的文本框和【注冊】按鈕等多個表單控件,其外觀效果如圖2-14所示。圖2-14用戶注冊頁面register2-7.jsp的外觀效果(2)用戶注冊時,在注冊頁面中輸入注冊信息,然后單擊【注冊】按鈕,注冊信息經驗證為合法信息則在另一個JSP頁面task2-7.jsp中獲取并顯示注冊信息。(3)在JSP頁面task2-7.jsp中使用request對象的getParameter()獲取用戶提交的注冊信息。(4)在JSP頁面task2-7.jsp中使用request對象的setAttribute()方法在其屬性列表中添加
23、一個屬性,然后在request對象的作用域范圍內使用getAttribute()方法獲取所添加屬性的值。(5)編寫JavaScript代碼,分別使用不同的方法獲取用戶名、密碼和Email等用戶信息。【任務實施】(1)創(chuàng)建JSP頁面register2-7.jsp在項目unit02中創(chuàng)建一個JSP頁面register2-7.jsp,其外觀效果如圖2-14所示,主要代碼如表2-16所示。表2-16中所使用的JavaScript文件validate.js的代碼如表2-13所示。(2)創(chuàng)建JSP頁面task2-7.jsp在項目unit02中創(chuàng)建一個JSP頁面task2-7.jsp,其主要代碼如表2-17
24、所示。(3)運行程序輸出結果運行JSP頁面login2-7.jsp,在注冊頁面中的表單控件中分別輸入用戶名為“admin”,密碼為“123456”,Email為“123456”,單擊【注冊】按鈕提交注冊信息,并在頁面task2-7.jsp中顯示用戶輸入的用戶名、密碼和Email,如圖2-15所示。圖2-15頁面task2-7.jsp中顯示用戶的注冊信息同時打開如圖2-16所示的對話框,顯示相同的用戶注冊信息。圖2-16輸出用戶注冊信息的對話框【典型應用】【任務2-8】應用JSP內置對象獲取用戶在某網頁停留的時間【任務描述】應用session對象的setAttribute()方法和getAttribute()統(tǒng)計用戶在某一頁停留的時間,并且要求每隔10秒鐘刷新一次頁面顯示用戶停留的時間。【任務實施】(1)創(chuàng)建JSP頁面task2-8.jsp在項目unit02中創(chuàng)建一個JSP頁面task2-8.jsp,其主要代碼如表2-18所示。(2)運行程序輸出結果運行JSP頁面task2-8.jsp,網頁每隔10秒鐘自動刷新一次,用戶在網頁的停留的時間如圖2-17所示。圖2-17JSP頁面task2-8.jsp的運行結果【任務2-9】應用JSP內置對象防止HTML表單在網站外部提交【任務描述】通過request對象的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版體育場館物業(yè)服務合同范本實施細則3篇
- 專屬2024版中央空調購銷合同書版B版
- 2025年度瓷磚品牌授權代理合同范本3篇
- 2025年智能溫室大棚建設與能源供應服務合同4篇
- 2025年度退休返聘員工勞動合同范本匯編3篇
- 未來教育科技企業(yè)營銷戰(zhàn)略探索
- 疾病防范認識尿毒癥及其早期預警信號
- 科技與天文學的融合未來趨勢與挑戰(zhàn)
- 盆栽種植技巧與節(jié)約生活
- 2025版投資型公寓租賃合同示范文本4篇
- 安徽省淮南四中2025屆高二上數(shù)學期末統(tǒng)考模擬試題含解析
- 保險專題課件教學課件
- 牛津上海版小學英語一年級上冊同步練習試題(全冊)
- 室上性心動過速-醫(yī)學課件
- 建設工程法規(guī)及相關知識試題附答案
- 中小學心理健康教育課程標準
- 四年級上冊脫式計算400題及答案
- 新課標人教版小學數(shù)學六年級下冊集體備課教學案全冊表格式
- 人教精通版三年級英語上冊各單元知識點匯總
- 教案:第三章 公共管理職能(《公共管理學》課程)
- 諾和關懷俱樂部對外介紹
評論
0/150
提交評論