HTTP協定的無狀态性:
無狀态性是指,當浏覽器發送請求給伺服器的時候,伺服器響應用戶端請求,但是當同一個浏覽器再次發送請求給伺服器的時候,伺服器并不知道他就是剛才的那個浏覽器。
簡單的說,就是伺服器不會去記得你,是以就是無狀态協定
儲存使用者狀态的兩大機制:Cookie和Session
Cookie:中文名稱為“小甜點”,是web伺服器儲存在用戶端的一系列文本資訊。
作用:
1.對特定對象的追蹤;
2.儲存使用者網頁浏覽記錄與習慣;
3.簡化登入;
4.容易洩露使用者資訊;
典型應用一:判斷注冊使用者是否已登入網站。
典型應用二:“購物車”的處理。
jsp中建立與使用Cookie:
1、建立Cookie對象:
Cookie cookie=new Cookie(String key,Object value);
2、寫入Cookie:
response.addCookie(cookie);
3、讀取Cookie:
Cookie[] cookies=request.getCookies();
例:
使用cookie儲存使用者資訊
清除使用者儲存在cookie中的資訊:
注意:關于Cookie儲存中文亂碼的問題,可以在jsp中導入java.net.*,然後先設定request.setCharacterEncoding("utf-8");再之後利用URLEncoder.encode(request.getParameter("username"),"utf-8");設定編碼。之後,在使用時,同樣的在相應的頁面,先設定request.setCharacterEncoding("utf-8");再利用URLDecoder.decode(cookie.getValue(),"utf-8");
Cookie和Session的對比