zoukankan      html  css  js  c++  java
  • Cookie

    Cookie

    一.是什么

    Cookie 是服务端在 HTTP 响应中附带传给浏览器的⼀个⼩⽂本⽂件,⼀旦浏览器保存了某个 Cookie,在之后的请求和响应过程中,会将此 Cookie 来回传递,这样就可以通过 Cookie 这个载体完成客户端和服务端的数据交互。
    二.怎样用
    创建 Cookie
    Cookie cookie = new Cookie("name","tom");
    response.addCookie(cookie);

    读取Cookie

    Cookie[] cookies = request.getCookies();
    for (Cookie cookie:cookies){
     out.write(cookie.getName()+":"+cookie.getValue()+"<br/>");
    }

    类比:cookie就像个绣球,被客户端传去服务器,然后又通过服务器响应(resp)回来

    Cookie 常⽤的⽅法
    void setMaxAge(int age) 设置 Cookie 的有效时间,单位为秒
    int getMaxAge() 获取 Cookie 的有效时间
    String getName() 获取 Cookie 的 name
    String getValue() 获取 Cookie 的 value

    查看默认时间

        Cookie []cookies=request.getCookies();
        out.write(cookies[0].getMaxAge());

    四.cookie与session区别

      保存位置 保存数据 生命周期 保存信息
    session 服务器 object
    服务端:只要 WEB 应⽤重启就销毁,客户端:只要浏览器关闭就销毁
    重要
    cookie 浏览器 String
    不随服务端的重启⽽销毁,客户端:默认是只要关闭浏览器就销毁,我们通过 setMaxAge()
    ⽅法设置有效期,⼀旦设置了有效期,则不随浏览器的关闭⽽销毁,⽽是由设置的时间来决定
    不重要

    session会随着服务器关闭,存储的数据消失

    而cookie跟服务器无关,只跟浏览器有关

    设置cookie里的信息可以保存7天

        cookie.setMaxAge(60*60*24*7);

     session的存取

      session.setAttribute("username",username);
      session.getAttribute("username")

    session的退出登录:session.invalidate()

    cookie的存

     Cookie cookie=new Cookie("username",username);
                        resp.addCookie(cookie);

    cookie的取

        Cookie[] cookies=request.getCookies();
            for(Cookie cookie:cookies){
                if(cookie.getName().equals("username")){
                    out.write(cookie.getValue());
                }
            }

    Cookie的退出登录:cookie.setMaxAge(0)

  • 相关阅读:
    前端知识笔记
    Vue 组件设计
    使用 puppeteer 创建一个自动化导出 PDF 的服务
    解决浏览器缓存导致页面非最新的小技巧
    浏览器文件上传浅淡
    Vue 项目代理设置的优化
    「django2」macos系统下安装及创建工程
    「android」gomobile argument unused during compilation: '-stdlib=libc++'
    「linux」大文本文件中查找指定字符串并删除所在行
    「color」颜色RGB
  • 原文地址:https://www.cnblogs.com/hanabi-521/p/14311973.html
Copyright © 2011-2022 走看看