J2EE Cookie 基础知识总结

缺乏、安全感 2022-12-03 09:25 230阅读 0赞
  • Tomcat 9

在讲述 Cookie 之前,有必要谈谈 Session

  1. session 对象是服务器管理的(session对象存储在服务器端)
  2. session 对象是无状态的(每一个session对象与浏览器不存在直接的对应关系)
  3. session 需要一个标识来寻找





























标识(JSESSIONID )
标识是谁分配的? 服务器
标识长成什么样? 是一个 String(唯一)
标识存储在哪里? 存储在浏览器端
什么时候存进去的? 服务器在第一次给浏览器响应的时候携带标识
标识具体存储在哪里? 浏览器端的 Cookie

请求与响应过程简述

  1. 先启动服务器(携带项目:有许多资源,比如 Servlet、JSP、Filter…)
  2. 浏览器主动发送请求(第一次请求时没有 标识
  3. 服务器解析请求,根据请求找资源,然后响应信息给浏览器的时候携带有 标识
  4. 浏览器解析响应信息,并将 标识 存储,然后每一次新请求都携带 标识(正确来说是全部 Cookie 信息,标识 存储在 Cookie 中)

服务器端操作 Cookie

(1)服务器端创建 Cookie

  1. Cookie cookie = new Cookie("key", "value");
  2. response.addCookie(cookie);
  • 服务器端响应信息时携带 Cookie 信息
  • 下一次浏览器发送请求的时候会携带 Cookie 信息

(2)服务器端获取 Cookie

  1. Cookie[] = request.getCookies();

(3)Cookie 对象常用方法

  1. cookie.getName(); //获取cookie的key
  2. cookie.getValue(); //获取cookie的value
  3. cookie.setMaxAge(int); //设置cookie的失效时间,单位:秒
  4. cookie.getDomain(); //返回cookie的域名
  5. cookie.getPath();
  6. cookie.getVerson();
  7. ...
  • cookie.setMaxAge(int); 默认值是 -1,当前 Session 结束时 Cookie 消失

(4)清除 Cookie

  • 浏览器端(不同浏览器,不同的操作方法)
  • 服务器端不能直接删除 Cookie,因为 Cookie 实际上存储在浏览器端,需要迂回告知浏览器端删除

    cookie.setMaxAge(0);
    response.addCookie(coookie);

JavaScript 操作 Cookie

  1. var cookieObject = document.cookie; //k1=v1;k2=v2;k3=v3

发表评论

表情:
评论列表 (有 0 条评论,230人围观)

还没有评论,来说两句吧...

相关阅读

    相关 J2EEJ2EE简介

    一、前言       今天学习了J2EE,发现里面的概念真是十分的混乱,基本和过去的知识没有什么联系,只有一些比较熟悉的词有印象,比如ODBC,所以打算要认真的总结一下J

    相关 J2EE基础知识

    J2SE基础   1.     九种基本数据类型的大小,以及他们的封装类。 基本类型 大小(字节)      默认值    封装类 byte         1