^小脆筒^

导航

Cookie&Session 知识点

Cookie API

 

 

     什么是会话   :用户打开一个浏览器访问页面,访问网站的很多页面,访问完成后将浏览器全都关闭的过程称为是一次会话.

    会话技术解决了  保存用户各自数据的  问题.

    常见的会话技术:

      Cookie  :  Cookie保存数据在浏览器

      Session   :  Session保存数据在服务器

    创建cookie对象:

      Cookie cookie = new Cookie(String name,String value); //cookie只能保存字符串数据。且value不能保存中文

    Cookie对象中的属性:

      name: 一但赋值就不能再改了。

      value:注意:不能存中文。

      maxAge:Cookie缓存的有效时间。

        -1:默认。代表Cookie数据存到浏览器关闭(保存在浏览器内存中)。

        0:代表删除Cookie.如果要删除Cookie要确保路径一致。

        正整数:以秒为单位保存数据有有效时间(把缓存数据保存到磁盘中)

       path:表示保存Cookie的路径。 默认是当前创建Cookie对象的路径

        一般把路径设置在根路径下: setPath(request.getContextPath()) 表示当前应用下的所有资源都可以访问Cookie数据

      向浏览器保存数据:

        HttpServletResponse有一个方法:  void   addCookie(Cookie cookie);     把Cookie数据响应给客户端浏览器

      获得浏览器带过来的所有Cookie:

        HttpServletRequest有一个方法:   Cookie[ ]   getCookies();     得到客户端浏览器带过来的Cookie数据 

      cookie.setPath(request.getContextPath());   设置访问路径

      cookie.setMaxAge(Integer.MAX_VALUE);        设置浏览器Cookie数据的缓存时间

      

    Cookie[] cookies = request.getCookies(); //得到浏览器所有Cookie对象
for(int i=0;cookies!=null && i<cookies.length;i++){ if("username".equals(cookies[i].getName())){ //根据name找到指定的Cookie对象 String value = cookies[i].getValue(); //取出Cookie的value值 break; } }

 

    注:用户第一次访问服务器,浏览器是不会有Cookie的。

 

 

posted on 2020-06-15 13:30  ^小脆筒^  阅读(57)  评论(0编辑  收藏  举报