response存進cookie中的數據request為何獲取不到cookie?


response存進cookie中的數據request為何獲取不到cookie?

1.方法:
設置cookie后利用response添加cookie,響應給瀏覽器,當下次訪問服務器是,request攜帶cookie到服務器,使用 request.getCookies();得到cookie

2.關於cookie的置值:

Cookie cookie = new Cookie("name","value");
cookie.setMaxAge(1);
cookie.setPath("/");
response.addCookie(cookie);


2.1.第一個參數是cookie的名字,第二個參數是cookie的值,如果值是中文,要使用URLEncoder.encode("","")進行編碼:他的第一個參數是value,第二個參數是:編碼方式

2.2.cookie的屬性設置:

2.2.1.因為不是所有的cookie都能夠被其他的servlet訪問,所以要設置訪問的路徑權限;cookie.setPath("");默認值是項目路徑下;里面的路徑是以項目名+要被訪問的 url-pattern的絕對路經;

2.2.2.設置cookie的存在時間,cookie.setMaxAge(secn);參數是秒;默認值是-1,即:關閉瀏覽器時就清除cookie,當設置為0的時候:創建完cookie,使用后馬上就 刪除,因為時間到了,又因為,cookie沒有清除方法,所以設置為 0,就相當於清除方法,當設置時間大於0,當時間到達后就會自動刪除

 

取值:

Cookie[] cookies = request.getCookies();

for (Cookie cookie : cookies) {
   String name = cookie.getName();//cookie 名字
   String path = cookie.getPath(); //cookie 訪問的路徑
   String value = cookie.getValue(); //cookie 值
   int maxAge = cookie.getMaxAge(); //cookie 過期時間
   String domain = cookie.getDomain();//可以訪問此cookie的域名
   boolean secure = cookie.getSecure(); //是否只能通過https來傳遞此條cookie     

}
 
3.注意事項:

cookie只能保存少量的數據,大約4K;

cookie可以被客戶禁用,所以使用應該注意

cookie安全性比較低,敏感信息不要放在其中,而且注意要加密

cookie只能存儲字符串

cookie的數量有限制


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM