天天看點

Jsp狀态管理(Cookie和Session的對比)

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();

Jsp狀态管理(Cookie和Session的對比)

例:

使用cookie儲存使用者資訊

Jsp狀态管理(Cookie和Session的對比)

清除使用者儲存在cookie中的資訊:

Jsp狀态管理(Cookie和Session的對比)

注意:關于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的對比

Jsp狀态管理(Cookie和Session的對比)