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

HTTP協議的無狀態性:

無狀態性是指,當瀏覽器發送請求給服務器的時候,服務器響應客戶端請求,但是當同一個瀏覽器再次發送請求給服務器的時候,服務器並不知道他就是剛纔的那個瀏覽器。

簡單的說,就是服務器不會去記得你,所以就是無狀態協議

保存用戶狀態的兩大機制:CookieSession


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的對比



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章