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

Cookie

时间:2018-10-25 20:17:33      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:持久   username   out   --   type   servlet   不可   集合   如何   

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();

  )

 

学无止境,学亦有法!

Cookie

标签:持久   username   out   --   type   servlet   不可   集合   如何   

原文地址:https://www.cnblogs.com/zhiyanwenlei/p/9852403.html

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