14-碼蟻JavaWeb之會話技術cookie
阿新 • • 發佈:2018-12-05
學習地址:
撩課-JavaWeb系列1之基礎語法-前端基礎
撩課-JavaWeb系列2之XML
撩課-JavaWeb系列3之MySQL
撩課-JavaWeb系列4之JDBC
撩課-JavaWeb系列5之web伺服器-idea
課程下載地址:
連結:https://pan.baidu.com/s/1qilY0kIpgnxuLELxjNIQxw 提取碼:4s9t
什麼是會話
使用者開一個瀏覽器
點選多個超連結,訪問伺服器多個web資源
然後關閉瀏覽器,整個過程稱之為一個會話。
和打電話一樣,電話接收,開始會話,電話 結束通話,結束會話
會話技術解決什麼問題
保持各個客戶端自己的資料 每個使用者在使用瀏覽器與伺服器進行會話的過程中, 不可避免各自會產生一些資料, 程式要想辦法為每個使用者儲存這些資料
學習Cookie
伺服器怎樣把Cookie寫 給客戶端
建立Cookie
Cookie cookie = new Cookie(String cookieName,String cookieValue);
cookie會以響應頭的形式傳送給客戶端
Cookie只能儲存非中文的字串
向客戶端傳送cookie
response.addCookie(cookie名稱) 訪問 第一次訪問時, 請求頭當中沒有cookie 第一次訪問時, 響應當中會看到set-cookie 再一次訪問時, 請求頭當中就能夠看到cookie資訊 訪問伺服器的任何資源,一般情況下都會把cookie帶去過 Cookie預設儲存時間 預設cookie的會話級別 開啟瀏覽器,關閉瀏覽器為一次會話 如果不設定持久化時間,cookie會儲存在瀏覽器的記憶體中,瀏覽器關閉 cookie資訊銷燬
設定Cookie在客戶端的儲存時間
cookie.setMaxAge(int seconds);
設定的時間為秒
如果設定持久化時間,cookie資訊會被持久化到瀏覽器的磁碟檔案裡
過期會自動刪除
設定Cookie的攜帶路徑
訪問某一個資源時,要不要帶cookie資訊
如何每一外資源都攜帶,會影響傳輸速度
如果不設定攜帶路徑
預設情況下會在訪問建立cookie的web資源相同的路徑
都攜帶cookie資訊
在myxq/CookieServlet下建立的cookie
在myxq/下的index.jsp訪問時會攜帶cookie
不是在myxq下,不會攜帶cookie
設定攜帶路徑
cookie.setPath(String path);
cookie.setPath(“/CookiePro/cookieServlet”);
只有訪問cookieServlet才攜帶cookie資訊
cookie.setPath(“/CookiePro”);
訪問指定的工程時, 都會攜帶cookie資訊
cookie.setPath(“/”);
訪問伺服器下部署的所有工程時都會攜帶cookie
刪除Cookie
如果想刪除客戶端的已經儲存的cookie資訊
使用同名同路徑的持久化時間為0的cookie進行覆蓋即可
伺服器如何獲取客戶端攜帶的cookie
通過Request物件的getCookies()方法
獲取的是所有的cookie
要進行遍歷,找出自己名稱的那一個
示例程式碼
記錄上次登入時間
博文全套 視訊講解 點選以下連結檢視
https://study.163.com/course/courseMain.htm?courseId=1005981003&share=2&shareId=1028240359