javaee cookie

来源:互联网 发布:java开发实战经典ppt 编辑:程序博客网 时间:2024/05/16 12:05

创建一个 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);

原创粉丝点击