Cookie

155 阅读2分钟

日期:2021年12月2日

出处:黑马程序员JavaWeb全套教程,Java Web从基础到项目实战(IDEA版)

www.bilibili.com/video/BV1qv…

正文


cookie

会话技术:一次会话中包含多次请求和响应

作用:共享存储数据

原理

被set-cookie标记的消息会被客户端进行cookie一系列处理

对Cookie对象的主要操作

  • cookie在浏览器的保存时间
    • 默认情况下,是随着浏览器的关闭cookie也随机被清除,但是可以使用cookie.setMaxAge(int seconds);设置cookie的存活时间
        Cookie cookie = new Cookie("ksrm", "setMaxAge");
//        设置cookie的存活时间
        cookie.setMaxAge(60);//存储的int值是以“秒”为单位的,即 将cookie持久化到硬盘上60s

        response.addCookie(cookie);

  • cookie存中文
    • tomcat 8 之后支持直接存储中文数据,如果不能直接存储中文,需将中文数据转码——url编码
  • 一次可以发送多个cookie
    • 就是创建多个cookie对象,多次使用response.addCookie () ;即可
  • cookie的共享(不同的web项目之间的cookie共享)
    • 默认情况下cookie是不能共享的,但是可以使用setPath(String path);设置cookie获取的范围
        //设置cookie获取的范围
        cookie.setPath("/");    //设置成当前项目的根路径范围以内的

cookie特点

  • cookie存储数据在客户端浏览器
  • 浏览器对于单个cookie的大小有限制,以及对同一个域名下的cookie数量也有限制
  • 一般用于存储少量 不敏感的数据

拓展

修改Servlet模板在 file and code templates 中

总结


cookie是客户端会话技术,一开始没有特别明白cookie的工作原理,后来通过反复观看视频发现自己忽略了http协议中的set-cookie,被set-cookie标记的消息会被客户端浏览器进行cookie一系列处理