1. 程式人生 > >servlet學習(五)Cookie

servlet學習(五)Cookie

一、問題

兩次不同的請求如何共享資料?

二、

採用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