码迷,mamicode.com
首页 > 其他好文 > 详细

Cookie和Session

时间:2020-04-15 01:03:35      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:多个   main   存在   文件中   登录   文字   处理   共享   pat   

Session和Cookie

1. 会话技术

  1. 会话:一次会话中包含多个请求和响应;从浏览器给服务器发送请求开始,直到某一方断开连接为止
  2. 功能:在一次会话中的多次请求之间共享数据
  3. 方式:
    1. 客户端会话技术:Cookie
    2. 服务端会话技术:Session
  1. 功能:将数据保存在客户端

  2. 入门:

    1. 创建Cookie对象,绑定数据

      new Cookie(String name, String value)

      Cookie cookie=new Cookie("msg","helloworld");
      
    2. 发送Cookie对象

      response.addCookie(Cookie cookie)

      response.addCookie(cookie);
      
    3. 获取Cookie,拿到绑定的数据

      request.getCookies()

      Cookie[] cookies = request.getCookies();
      if (cookies!=null){
          for (Cookie cookie : cookies) {
              String cookieName = cookie.getName();
              String cookieValue = cookie.getValue();
              System.out.println(cookieName+""+cookieValue);
          }
      }
      
  3. 流程分析

    1. 第一次请求时服务器给响应头set-cookie: key-value
    2. 第二次请求时请求头带有cookies
  4. 细节处理

    1. 一次发送多个cookie:需要多少个就add多少个

    2. cookie在浏览器保存多久:

      1. 默认浏览器关闭后被销毁

      2. 持久化:

        setMaxAge(int seconds)

        seconds>0 表示持久化,写到文件中;同时表示cookie的保存时间(秒)

        seconds<0 表示默认值

        seconds=0 表示删除cookie

    3. cookie能否存放中文字符:

      tomcat8前不支持,如果需要则需要将中文URL编码

    4. cookie获取范围:

      1. 多个webapp能否共享?

        默认不能共享;如果需要则要设置path为根路径cookie.setPath("/")

      2. 不同tomcat服务器的cookie能共享吗?

        cookie.setDomain(String domain)设置一级域名相同,则可以共享

    5. cookie特点

      1. 数据存储在客户机
      2. 浏览器对于单个cookie大小有限制(max 4kb)以及同一域名下cookie个数有限制(20)
      3. 一般用于不登录身份鉴别

Cookie和Session

标签:多个   main   存在   文件中   登录   文字   处理   共享   pat   

原文地址:https://www.cnblogs.com/lijiext/p/12702269.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!