什麼是會話
用戶開一個瀏覽器
點擊多個超鏈接,訪問服務器多個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