javaee cookie

創建一個 cookie,cookie 是 servlet 發送到 Web 瀏覽器的少量信息,這些信息由瀏覽器保存,然後發送回服務器。
cookie 的值可以唯一地標識客戶端,因此 cookie 常用於會話管理。
一個 cookie 擁有一個名稱、一個值和一些可選屬性,比如註釋、路徑和域限定符、最大生存時間和版本號。
一些 Web 瀏覽器在處理可選屬性方面存在 bug,因此有節制地使用這些屬性可提高 servlet 的互操作性。

servlet 通過使用 HttpServletResponse#addCookie 方法將 cookie 發送到瀏覽器,該方法將字段添加到 HTTP 響應頭,
以便一次一個地將 cookie 發送到瀏覽器。瀏覽器應該支持每臺 Web 服務器有 20 個 cookie,總共有 300 個 cookie,
並且可能將每個 cookie 的大小限定爲 4 KB。

瀏覽器通過向 HTTP 請求頭添加字段將 cookie 返回給 servlet。可使用 HttpServletRequest#getCookies 方法從請求中獲取 cookie。
一些 cookie 可能有相同的名稱,但卻有不同的路徑屬性。

cookie 影響使用它們的 Web 頁面的緩存。HTTP 1.0 不會緩存那些使用通過此類創建的 cookie 的頁面。


  //獲得用戶的時間cookie
  Cookie cookies[]=request.getCookies();
  for(int i=0;cookies!=null&&i<cookies.length;i++){
   if(cookies[i].getName().equals("lastAccessTime")){
    long cookieValue=Long.parseLong(cookies[i].getValue());
    Date date=new Date(cookieValue);
    out.print(date.toLocaleString());
   }
  }
  
  //給用戶回送最新的訪問時間
  Cookie cookie=new Cookie("lastAccessTime",System.currentTimeMillis()+"");
  cookie.setMaxAge(1*30*24*3600);
  cookie.setPath("/day07");
  response.addCookie(cookie);

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