1.會話控制
http協議有兩大缺點:
1.無狀態
利用cookie和session的技術可以解決無狀態的問題
2.純文字
利用beanutils可以解決純文字的問題,將文字封裝到物件裡。
伺服器不能通過http請求報文來識別瀏覽器,但是我們又有這個需求
(http無狀態的連線,不能滿足現狀的上網需求)
電影院的運作:
1.電影院要建立票
2.將電影票發給顧客
3.顧客帶著票去看電影
4.電影院要檢票
[1] cookie
伺服器以響應頭的形式將cookie傳送給瀏覽器,
response.addcookie(),該方法可以將cookie傳送給瀏覽器
瀏覽器以請求頭的形式將cookie發回給伺服器,request.getcookies(),
該方法可以獲得瀏覽器端的cookies陣列。
1.伺服器建立cookie
2.將cookie傳送給瀏覽器
3.瀏覽器帶著cookie來訪問伺服器
4.伺服器檢查瀏覽器的cookie
set-cookie: username=sunwukong
瀏覽器收到該響應頭以後,會自動儲存cookie資訊,並在以後的訪問中攜帶該cookie:
cookie: username=sunwukong; age=18
使用cookiecookie cookie = new cookie(name,value);
response.addcookie(cookie);
cookie cookies = request.getcookies();
//判斷cookies是否為null
if(cookies!=null)
}
cookie一旦傳送給瀏覽器,那麼伺服器將不能直接修改。但是可以通過使用同名cookie來替換瀏覽器已有的cookie的方式,來間接的修改。
瀏覽器收到新cookie以後,就會將老的cookie銷毀,然後使用新的cookie
刪除cookie指使瀏覽器不在儲存cookie,使cookie立即失效//使name為username的cookie立即失效
//1.建立乙個name為username的cookie
cookie cookie = new cookie(「username」, 「aaa」);
//2.設定cookie的有效時間為0
cookie.setmaxage(0);
//3.將cookie傳送給瀏覽器,來替換同名cookie
response.addcookie(cookie);
cookie的有效時間cookie.setmaxage(秒數);cookie傳送個瀏覽器以後,瀏覽器是不會永久儲存,也就是到了一定的時間以後瀏覽器會自動銷毀cookie
下次訪問伺服器時cookie將不再被攜帶
cookie的預設有效時間為一次會話(一次開啟關閉瀏覽器的過程)
同樣我們也可以手動指定cookie的有效時間
//setmaxage用來設定cookie的最大有效時間,需要int型的引數,代表有效的秒數
//當引數大於0時,會設定為指定的秒數
//當引數等於0時,瀏覽器不會儲存cookie
//當引數小於0時,和不設定是一樣,當前會話有效
cookie.setmaxage(-100);
//設定乙個永久有效的cookie
cookie.setmaxage(60*60*24*365*10);
cookie的path//同樣我們也可以手動指定cookie的路徑path指路徑,指瀏覽器在訪問哪些位址時該cookie有效
也就是說cookie預設的path是servlet專案的根目錄
//cookie路徑由瀏覽器解析,所以需要加上專案名
//11_web_cookie/hello 指名凡是訪問專案根目錄下hello路徑下cookie都有效
cookie.setpath(「/11_web_cookie/hello」);
cookie的應用:
1.保持使用者的登入狀態
2.baidu廣告的精確推送
3.taobao目前儲存使用者名稱,也就是再次登入時不再需要輸入使用者名稱,只需要輸入密碼。
1.一旦使用者登入成功以後,下次在登入時,直接將使用者名稱顯示出來,使用者不需要再次輸入使用者名稱,只輸入密碼即可。
如果正確:則將使用者名稱儲存到乙個有效期7天的cookie中,並傳送給瀏覽器
然後重定向到login-success.jsp
登入失敗:暫時不考慮,預設登入成功
- 下次瀏覽器在訪問**時,直接將cookie中的使用者名稱讀取並在表單中回顯
cookie本身也是乙個鍵值對的形式< string name,string value>
獲取指定name的cookie的value值。
$,其中user是cookie的name。
會話技術之cookie
http協議具有無連線和無狀態的特點 在提高效率的同時會讓伺服器與瀏覽器變得冰冷 即使以很快的速度連續開啟兩次 伺服器依舊無法識別這是同乙個客戶 所以就需要使用會話技術使瀏覽器與伺服器相識 以及 可以讓瀏覽器訪問的不同指令碼之間資料共享 會話技術 包括 cookie技術和session技術 cook...
常用會話技術之cookie
通過瀏覽器將使用者資料存在客戶端的會話技術.cookie按key value方式來存值的.如果cookie沒有設定有效期,cookie中資料是存在客戶端的記憶體中.如果cookie設定了有效期,cookie中資料就存在客戶端的硬碟上。1 優點 減輕伺服器端的壓力 使用者第二次載入資料時效率高 可長久...
Cookie 會話控制
2.cookie的簡介 3.cookie的工作原理 4.cookie的基本使用 5.cookie有效性 持久化cookie 重點 6.cookie的應用 7.cookie的缺陷 http是無狀態的協議。一旦資料交換完畢,客戶端與伺服器端的連線就會關閉,再次交換資料需要建立新的連線,這就意味著伺服器無...