Servlet與JSP進階五:瀏覽器Cookie
本篇部落格的主要內容是:
● 為什麼要有Cookie;
● Cookie本地存放地址;
● 如何在程式中設定(新增)Cookie;
● 如何在瀏覽器中檢視Cookie資訊;
● 如何在程式中獲取Cookie資訊;
● 如何設定Cookie時效;
Cookie(小甜餅~~~)
一個小例子:例如平常登入一個網易郵箱時,如果選擇“十天內免登入”,登入後,關閉瀏覽器;重新開啟瀏覽器,會發現網易郵箱的登入狀態並沒有消失。
其底層的實現原理是,網易郵箱網利用了Cookie技術,存放了使用者的登入資訊;瀏覽器二次訪問網易郵箱首頁時,瀏覽器會把Cookie中存放的使用者登入資訊提取出來,並通知伺服器說之前這個使用者已經登入過了,並不需要重新登入;
“十天內免登入”:這個Cookie只能儲存十天,十天以後,將會被瀏覽器自動清除;
Cookie放在哪兒了?
設定Cookie示例:
下面,設定了Cookie,並將Cookie資訊隨著response(響應)發回到瀏覽器端;瀏覽器將這個Cookie資訊儲存到本地的檔案中;之後每一次請求,request(請求物件)都會包含這個Cookie資訊,一併傳送到對應的地址上。
Cookie要匯入這個包:
效果:
對於上面的過程中,Cookie是否生效嘞?在瀏覽器中檢視Cookie。
獲取Cookie
效果:
上面稍微改造下:
效果:
Cookie的時效性怎麼弄?:Cookie的預設時效
當Cookie沒有設定有效期時,Cookie的有效期就是當前的瀏覽器視窗:
在上面的例子中,我們先訪問了ImoocLoginServlet這個Servlet,我們是在這個Servlet中設定的Cookie,然後在沒有關閉瀏覽器的情況下,又訪問了ImoocIndexServlet這個Servlet,在這個Servlet中我們訪問了Cookie;
因為沒有關閉瀏覽器,所以ImoocLoginServlet設定的Cookie資訊會有效,ImoocIndexServlet能正常訪問到Cookie資訊;
但一旦,我們關閉了瀏覽器,重新開啟瀏覽器,直接訪問ImoocIndexServlet時:報錯了,Cookie失效了
其實,上面報了空指標異常,其實cs這個陣列是空的(因為所有的Cookie資訊都失效了),會引發空指標異常了;
所以上面的程式可以改一下,增強健壯性:
上面程式處理了可能出現的錯誤情況,此時再訪問時:
怎麼設定Cookie時效:
此時先訪問ImoocLoginServlet,先讓瀏覽器將Cookie資訊儲存;
關閉瀏覽器:然後重啟,訪問ImoocIndexServlet:結果,發現Cookie並沒有因為關閉了瀏覽器而失效,因為我們把其時效性設定成了7天;
cookie是保證使用者會話的基礎;
相關文章
- jsp進階教程和ServletJSServlet
- 谷歌瀏覽器管理cookie谷歌瀏覽器Cookie
- web前端進階篇(二) 瀏覽器 WebpackWeb前端瀏覽器
- 瀏覽器手動設定Cookie瀏覽器Cookie
- Chrome瀏覽器手動新增CookieChrome瀏覽器Cookie
- JSP 商品瀏覽[Web application]JSWebAPP
- 瀏覽器快取清理工具:Cookie for Mac瀏覽器快取CookieMac
- 檢測當前瀏覽器是否支援cookie瀏覽器Cookie
- Mac瀏覽器快取清理軟體:CookieMac瀏覽器快取Cookie
- Cookie for Mac瀏覽器快取清理軟體CookieMac瀏覽器快取
- 深入瞭解瀏覽器儲存:對比Cookie、LocalStorage、sessionStorage與IndexedDB瀏覽器CookieSessionIndex
- ajax 請求攜帶cookie 瀏覽器報錯Cookie瀏覽器
- cookie已涼,瀏覽器儲存該怎麼做Cookie瀏覽器
- 當瀏覽器 禁用 cookie 時 , 我們如何使用 session瀏覽器CookieSession
- 【瀏覽器】瀏覽器基本工作原理瀏覽器
- Cookie&Session&JSPCookieSessionJS
- 谷歌瀏覽器檢視和手動設定cookie的值谷歌瀏覽器Cookie
- Chrome 瀏覽器修改 UA 模擬其它瀏覽器,包括移動瀏覽器Chrome瀏覽器
- 瀏覽器重繪(repaint)重排(reflow)與優化[瀏覽器機制]瀏覽器AI優化
- 瀏覽器瀏覽器
- Java學習筆記-Day53 Servlet與JSPJava筆記ServletJS
- 360瀏覽器相容模式下jsp頁面訪問不到js檔案瀏覽器模式JS
- Min瀏覽器: 更快更輕量瀏覽器瀏覽器
- 基石-初見瀏覽器(一):瀏覽器渲染瀏覽器
- jsp隱式物件-Servlet物件JS物件Servlet
- microsoft edge是ie瀏覽器嗎 edge瀏覽器和ie瀏覽器一樣嗎ROS瀏覽器
- 五大主流瀏覽器及四大核心瀏覽器
- JavaScript 偵測手機瀏覽器的五種方法JavaScript瀏覽器
- 前端面試瀏覽器系列:瀏覽器快取前端面試瀏覽器快取
- java servlet 與jsp幾種頁面跳轉的方法JavaServletJS
- 登入學習通報錯:瀏覽器沒有開啟cookie功能瀏覽器Cookie
- Cookie for Mac(瀏覽器快取清理工具) v6.3.4啟用版CookieMac瀏覽器快取
- “木偶”瀏覽器瀏覽器
- 瀏覽器核心瀏覽器
- 瀏覽器原理瀏覽器
- 瀏覽器渲染瀏覽器
- [瀏覽器]LocalStorage瀏覽器
- 瀏覽器呼叫攝像頭進行拍照程式瀏覽器