Cookie

1.Cookie简介

  Cookie:数据存储在客户端本地,减少服务器的存储的压力,安全性不好,客户端可以清除cookie

2.Cookie需要掌握

  服务器怎样将一个Cookie发送到客户端

  服务器端怎样接受客户端携带的Cookie

3.创建Cookie:

  Cookie cookie = new Cookie(String cookieName,String coolieValue);

示例:

  Cookie cookie = new Cookie("username","zhangsan");

  那么该cookie会以响应头的形式发送给客户端:

  注意:Cookie中不能春初中文

4.向客户端发送cookie:

  response.addCookie(Cookie cookie);

注意:访问本项目才会携带cookie信息

5.Cookie的一些常见的API(持久化,携带路径)

6.设置Cookie在客户端的持久化时间:

  cookie.setMaxAge(int second);--时间秒

注意:如果不设置持久化时间,cookie会存储在浏览器的内存中,浏览器关闭

cookie信息撤销(绘画级别的cookie),如果设置持久化时间,cookie信息会 被

持久化到浏览器的磁盘文件里

7.设置Cookie的携带路径:

  cookie.setPath(String path);

  注意:如果不设置携带路径,那么该cookie信息会在访问中携带大量无用cookie,增加负担

  例:cookie.setPth("/GetCookie");

8.如何删除cookie:

  如果想删除客户端已经存储的cookie信息,那么就是用同名通路径的 持久化时间微0的cookie进行覆盖即可

9.获取Cookie:

  request.getCookie();是集合,需要遍历

语法:

  response.setContenType("text/html;charset=utf-8");

  PrintWriter out = response.getWriter();

  Cookie[] cookie = request.getCookie();

  for(Cookie cookie:cookies){

  String name = cookie.getName();

  if(name.equals("userName")){

    String cookieValue = cookie.getValue();

    out.print("userName:"+cookieValue)

    }

  }

10,关于汉字会话传递与获取

发送cookie:

  Cookie cookie= new Cookie("userName",URLEncoder.encode("汉字",“utf-8”));

  response.addCookie(cookie);

获取Cookie:

  Cookie[] cookies=request.getCookies();

  for(Cookie cookie:cookise){//遍历

    out.print(cookie.getName+","+URLDecoder.decode(cookie.getValue(),"utf-8"));

  }

注意:

  

Servlet中定义输出格式(

  response.setContenType("text/html;charset=utf-8");//utf-8不可少

  PrintWriter out = response.getWriter();

  )

 

学无止境,学亦有法!

posted @ 2018-10-25 19:56  致颜文磊  阅读(146)  评论(0编辑  收藏  举报