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的。

 

 

天天向上
原文地址:https://www.cnblogs.com/xiao-cui-tong/p/13128825.html