servlet學習(五)Cookie
阿新 • • 發佈:2018-11-03
一、問題
兩次不同的請求如何共享資料?
二、
採用Cookie(瀏覽器存)+Session(伺服器存)
三、作用
解決了不同請求的資料共享問題。
四、使用
1.建立cookie物件
//建立cookie物件
Cookie cookie=new Cookie("id", "1");
2.設定cookie物件
//設定cookie物件 //設定有效期三天 cookie.setMaxAge(3*24*3600); //設定有效路徑 cookie.setPath("/sx/s5"); // ‘/’+專案名+servlet名 //否則訪問對應的servlet不會攜帶cookie
3.讓瀏覽器存cookie
//讓瀏覽器存cookie
resp.addCookie(cookie);
第一次訪問的時候:響應頭要求瀏覽器儲存cookie
第二次訪問的時候:請求頭攜帶cookie資訊
獲取cookie物件
//第二次請求的時候獲取cookie物件 Cookie[] cookies=req.getCookies(); for(Cookie c:cookies) { System.out.println(c.getName()+" "+c.getValue()); }
注意:
1.臨時儲存:儲存在瀏覽器的執行記憶體中,瀏覽器關閉就失效。
2.定時儲存:設定了cookie的有效期,儲存在客戶端的硬碟中,在有效期內符合路徑的要求的請求都會附帶該資訊,放在請求頭中。
設定有效路徑:
cookie.setPath("/sx/s5");
‘/’+專案名+servlet名,否則訪問對應的servlet不會攜帶cookie