版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第7章會話跟蹤技術(shù)學(xué)習(xí)目的與要求本章重點對會話跟蹤技術(shù)作詳細地介紹。通過本章的學(xué)習(xí),理解會話跟蹤的含義,掌握會話跟蹤技術(shù)的應(yīng)用。會話跟蹤技術(shù)是一種在客戶端與服務(wù)器間保持HTTP狀態(tài)的解決方案。主要Cookie技術(shù)、session技術(shù)、URL重寫技術(shù)以及隱藏表單域技術(shù)。《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄7.1.1Cookie技術(shù)7.1.2session技術(shù)7.1.3URL重寫技術(shù)7.1.4隱藏表單域技術(shù)7.1.5實踐環(huán)節(jié)——登錄注銷系統(tǒng)《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.1Cookie技術(shù)Cookie技術(shù)是一種在客戶端保持會話跟蹤的解決方案。通過Cookie,服務(wù)器在接收來自客戶端瀏覽器的請求時,能夠通過分析請求頭的內(nèi)容而得到客戶端特有的信息,從而動態(tài)生成與該客戶端相對應(yīng)的內(nèi)容。Cookie可以通過jakarta.servlet.http.Cookie類的構(gòu)造方法Cookie(Stringname,Stringvalue)創(chuàng)建,示例代碼如下:CookievistedCountC=newCookie("vistedCount","1000");其中,第1個參數(shù)name用于指定Cookie的屬性名;第2個參數(shù)value用于指定屬性值?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.1Cookie技術(shù)創(chuàng)建完成的Cookie對象,可以使用HttpServletResponse對象的addCookie()方法添加到響應(yīng)對象中,進而讓Cookie對象存儲在客戶端機器上。存儲在客戶端的Cookie,可以通過HttpServletRequest對象的getCookies()方法獲取。Cookie有一定的存活時間,不會在客戶端一直保存。默認情況下,在瀏覽器關(guān)閉時失效。若要讓其長時間保存,可以通過Cookie對象的setMaxAge(inttime)方法設(shè)置其存活時間(以秒為單位),時間為正整數(shù),表示其存活的秒數(shù);若為負數(shù),表示其為臨時Cookie(在瀏覽器關(guān)閉時失效);若為0,表示通知瀏覽器刪除相應(yīng)的Cookie對象。需要注意的是,在使用Cookie時,要保證瀏覽器接受Cookie?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.1Cookie技術(shù)【例7-1】編寫1個Servlet,在該Servlet中測試Cookie對象的常用方法。啟動服務(wù)器,第1次請求CookieTest后(http://localhost:8080/ch7/CookieTest)的顯示結(jié)果如圖7.2所示。第2次請求CookieTest后(http://localhost:8080/ch7/CookieTest)的顯示結(jié)果如圖7.3所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.1Cookie技術(shù)《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
例7-1實例效果只限于使用同一個瀏覽器并且允許使用Cookie的情況下訪問,這是由Cookie本身的局限性決定的。Cookie的缺點主要集中在其安全性和隱私保護上,主要包括以下幾種:1.Cookie可能被禁用,有的用戶擔(dān)心隱私安全問題,很可能會禁用瀏覽器的Cookie功能。2.Cookie是與瀏覽器相關(guān)的,即使訪問同一個應(yīng)用程序,不同瀏覽器之間所保存的Cookie也是不能互相訪問的。3.Cookie可能被刪除,因為每個Cookie都是硬盤上的一個文件,因此很有可能被用戶刪除。4.Cookie的大小和個數(shù)受限,單個Cookie保存的數(shù)據(jù)一般不能超過4KB,很多瀏覽器都限制一個域名最大保存數(shù)量;5.Cookie安全性不夠高,所有的Cookie都是以純文本的形式記錄于文件中,因此,如果要保存用戶名和密碼等信息時,最好事先做加密處理。目錄7.1.1Cookie技術(shù)7.1.2session技術(shù)7.1.3URL重寫技術(shù)7.1.4隱藏表單域技術(shù)7.1.5實踐環(huán)節(jié)——登錄注銷系統(tǒng)《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.2session技術(shù)session技術(shù)是指使用HttpSession對象實現(xiàn)會話跟蹤技術(shù),是一種在服務(wù)器端保持會話跟蹤的解決方案。HttpSession對象將在用戶第1次訪問服務(wù)器時由容器創(chuàng)建(只有訪問JSP、Servlet等程序時才會創(chuàng)建,只訪問HTML、image等靜態(tài)資源并不創(chuàng)建),當(dāng)用戶調(diào)用其失效方法(invalidate()方法)或超過其最大不活動時間時會失效。在會話有效期間,用戶與服務(wù)器之間的多次請求都屬于同一個會話。服務(wù)器在創(chuàng)建session對象時,會為其分配一個唯一的會話標(biāo)識sessionId,以“JSESSIONID”的屬性名保存在客戶端Cookie中,在用戶后續(xù)的請求中,服務(wù)器通過讀取Cookie中的JSESSIONID屬性值來識別不同的用戶,從而實現(xiàn)對每個用戶的會話跟蹤。有關(guān)session技術(shù)的使用請讀者參見4.4節(jié)和6.7節(jié)?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄7.1.1Cookie技術(shù)7.1.2session技術(shù)7.1.3URL重寫技術(shù)7.1.4隱藏表單域技術(shù)7.1.5實踐環(huán)節(jié)——登錄注銷系統(tǒng)《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.3URL重寫技術(shù)URL重寫是指服務(wù)器程序?qū)邮盏腢RL請求重新寫成網(wǎng)站可以處理的另一個URL的過程。URL重寫技術(shù)是實現(xiàn)動態(tài)網(wǎng)站會話跟蹤的重要保障。在實際應(yīng)用中,當(dāng)不能確定客戶端瀏覽器是否支持Cookie的情況下,使用URL重寫技術(shù)可以對請求的URL地址追加會話標(biāo)識,從而實現(xiàn)用戶的會話跟蹤功能。URL重寫實現(xiàn)會話跟蹤,要保證每個頁面都必須使用Servlet或JSP動態(tài)頁面。因為附加在URL上的SessionID是動態(tài)產(chǎn)生,所以對于靜態(tài)頁面的跳轉(zhuǎn),URL重寫機制無能為力。《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.3URL重寫技術(shù)可以通過HttpServletResponse的encodeURL()方法和encodeRedirectURL()方法實現(xiàn)URL重寫,其中encodeRedirectURL()方法主要對使用sendRedirect()方法的URL進行重寫。URL重寫方法根據(jù)請求信息中是否包含Set-Cookie請求頭來決定是否進行URL重寫,若包含了該請求頭,將URL原樣輸出;若不包含,則將會話標(biāo)識JSESSIONID重寫到URL中。URL重寫示例代碼如下:
//對重定向的URL進行重寫
StringencodeURL=response.encodeRedirectURL("toRedirectServlet");
response.sendRedirect(encodeURL);《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.3URL重寫技術(shù)首先,對谷歌瀏覽器Cookie的禁用設(shè)置,如圖7.4所示。然后,使用禁用Cookie的谷歌瀏覽器運行例6-7,程序運行結(jié)果如圖7.5~7.7所示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.3URL重寫技術(shù)從圖7.6和7.7中,可以看出session對象發(fā)生了改變,也就是說在Cookie禁用的情況下,無法使用session技術(shù)跟蹤客戶端的用戶狀態(tài)?!纠?-2】使用URL重寫技術(shù)跟蹤例6-7的用戶狀態(tài)?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄7.1.1Cookie技術(shù)7.1.2session技術(shù)7.1.3URL重寫技術(shù)7.1.4隱藏表單域技術(shù)7.1.5實踐環(huán)節(jié)——登錄注銷系統(tǒng)《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.4隱藏表單域技術(shù)利用HTML的hidden屬性,將客戶端的信息,在用戶不察覺的情形下,隨著請求一起發(fā)送給服務(wù)器處理。例如:<inputtype="hidden"name="userID"value="15">【例7-3】編寫JSP頁面login.jsp,在該頁面中通過表單向名字為login的Servlet對象(由LoginServlet類負責(zé)創(chuàng)建)提交用戶名,login將用戶名以隱藏表單域的形式提交給另一個Servlet對象greet(由GreetServlet類負責(zé)創(chuàng)建),greet將login.jsp提交的用戶名顯示在瀏覽器中。login和greet是處理不同請求的Servlet,但是也可以實現(xiàn)會話跟蹤?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄7.1.1Cookie技術(shù)7.1.2session技術(shù)7.1.3URL重寫技術(shù)7.1.4隱藏表單域技術(shù)7.1.5實踐環(huán)節(jié)——登錄注銷系統(tǒng)《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
7.1.5實踐環(huán)節(jié)——登錄注銷系統(tǒng)編寫一個登錄注銷系統(tǒng),用戶登錄成功的情況下,將用戶的信息保存在會話HttpSession中,用戶信息可以在會話過程中任意頁面或Servlet中被獲取并顯示,使用HttpSession的invalidate()方法實現(xiàn)系統(tǒng)的注銷功能。一旦注銷,該用戶信息丟失,用戶需要重新登錄。該系統(tǒng)需要考慮用戶瀏覽器禁用Cookie的情況。《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
本章小結(jié)HTTP協(xié)議是一種無狀態(tài)的協(xié)議,也就是說當(dāng)用戶請求一個資源,服務(wù)器根據(jù)客戶端請求做出響應(yīng),回發(fā)到客戶端后,就關(guān)閉了連接。但是,實際生活中可能有類似網(wǎng)上購物的場
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 親子共讀家庭教育的有效方式
- 2025年九江道路貨物運輸駕駛員考試
- 2025年貨運資格證模擬考試題泰州
- 辦公設(shè)備維保方案五篇
- 中國傳統(tǒng)節(jié)日在家庭教育中的意義與影響
- 企業(yè)文化的傳承與發(fā)展
- 企業(yè)內(nèi)部創(chuàng)業(yè)團隊的協(xié)作經(jīng)驗交流
- 2023七年級道德與法治下冊 第四單元 走進法治天地第九課 法律在我們身邊第2框 法律保障生活教學(xué)實錄 新人教版
- 辦公產(chǎn)品推廣中的互動式營銷策略-以小米為例
- 以文化育人為本的小學(xué)教育模式探索
- 電動力學(xué)-選擇題填空題判斷題和問答題2018
- 重慶財經(jīng)學(xué)院《自然語言處理》2022-2023學(xué)年第一學(xué)期期末試卷
- 【MOOC】大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo)-河南科技大學(xué) 中國大學(xué)慕課MOOC答案
- 2024年度總結(jié)暨表彰大會議程例文(3篇)
- 山東省濟南市2023-2024學(xué)年高二上學(xué)期期末考試地理試題 附答案
- 人人愛設(shè)計學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 銅材壓延生產(chǎn)節(jié)能減排關(guān)鍵技術(shù)研究
- 500字作文標(biāo)準(zhǔn)稿紙A4打印模板-直接打印
- 福建省廈門市翔安區(qū)2023-2024學(xué)年八年級上學(xué)期期末語文試題
- 國開電大軟件工程形考作業(yè)3參考答案
- 16J607-建筑節(jié)能門窗
評論
0/150
提交評論