應用范圍
Cookie應用在需要頻繁操作、記錄瀏覽歷史的場景。比如一些不涉及金錢的網站,可以保存用戶與密碼以保證在一段時間內不再進行操作,給用戶更好的使用體驗。早期電商平臺的購物車功能,也采用cookie實現。某些特定技術也要依賴cookie,如禁用cookie會導致會話跟蹤失效。
Cookie種類
Cookie分成二類,一種是窗口級還一種為指定時間級。所謂窗口級是指瀏覽器關閉后失效,指定時長級在到達指定的時間后自動失效。會話跟蹤技術中的sessionId就是采用的窗口級cookie,“二周自動登陸”功能就要使用指定時長級cookie。
儲存格式
Cookie采用Map的方式保存,每個name對應一個value。Key與value的值一般為英文或數字且name不能重復,和Java中的Map結構一致。
操作cookie
可以用JS在瀏覽器(客戶端)中直接操作cookie,但實際應用中使用JQuery插件更為方便。今天小傅老師要跟講的是利用Servlet指示瀏覽器操作cookie。
Cookie類
使用javax.servlet.http.Cookie類操作cookie非常方便。
常用方法
取得cookie
瀏覽器向某個站點下的servlet發送請求時,瀏覽器會自動之前以保存的本站點相應cookie發送給servlet。我們借且于HttpServletRequest接口中的getCookies()就可以取得,返回的是一個Cookie數組。
設定cookie
構造cookie實例后把它加入到HttpServletResponse對象,瀏覽器收到應答根據cookie的種類保存cookie。
1)窗口級cookie
2)指定時長cookie
編輯cookie
當設定以有name的cookie時value會給覆蓋,以最后一次為準。刪除cookie操作,只要將其有效時長設定為0就可以了。