会话

    会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,关闭浏览器,这个过程可以称之会话

       有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,称之为有状态会话;

         一个网站怎么证明你来过?

           客户端        服务端

          1.服务端给客户端一个信件,客户端下次访问服务器带上信件就可以了 :Cookie

          2.服务器登记你来过了,下次你来的时候我来匹配你:Session           

    保存会话的两种技术

      cookie

        客户端技术(响应,请求)

       Session

          服务器技术,利用这个技术,可以保存用户的会话信息,我们可以把信息或数据放在Session 中!

       常见场景:网站登录之后,你下次不用再登录了,第二次就不用登录了

    cookie:

              1.从请求中拿到cookie信息

              2.服务器响应给客户端 

       cookie方法

       Cookie[] cookies = req.getCookies();     //获得cookie
       ookie.getName();       //获得cookie中的key
       cookie.getValue();      //获得cookie中的vlaue
       new Cookie("lastLoginTime",System.currentTimeMillis()+"");   //新建一个cookie
       cookie.setMaxAge(24*60*60);         //设置cookie有效期
       resp.addCookie(cookie);          //相应给客户端一个cookie

cookie一般会保存在本地 用户目录下

一个网站cookie是否存在上线?
1.一个cookie只能保存一个信息
2.一个web网站可以给浏览器发生多个cookie,最多存放20个cookie
3.cookie大小限制有限制4kb
4.300个cookie浏览器上限

删除cookie
1.不设置有效期,关闭浏览器,自动消失
2.设置有效期 0,立马过期
手动删除再另一个页面 新建一个cookie key和要删除的名字一样,然后设置有效期0响应给客户端

编码解码:
out.write(URLDecoder.decode(cookie.getValue(),"utf-8"));//解决cookie中文乱码
Cookie cookie = new Cookie("name", URLEncoder.encode("张三","utf-8"));//解决cookie中文乱码
02-10 19:24