Servlet--Cookie基础

举报
brucexiaogui 发表于 2021/12/30 01:24:01 2021/12/30
【摘要】 Servlet--Cookie基础 一、什么是cookie 1、cookie是一个类:Java中把Cookie封装成了javax.servlet.http.Cookie类。每个Cookie都是该Cookie类的对象。服务器通过操作Cookie类对象对客户端Cookie进行操作。通过request.ge...
Servlet--Cookie基础

一、什么是cookie
1、cookie是一个类:Java中把Cookie封装成了javax.servlet.http.Cookie类。每个Cookie都是该Cookie类的对象。服务器通过操作Cookie类对象对客户端Cookie进行操作。通过request.getCookie()获取客户端提交的所有Cookie(以Cookie[]数组形式返回),通过response.addCookie(Cookiecookie)向客户端设置Cookie。
2、cookie是保存在浏览器本地的一个文件。
3、cookie的属性是一对name value 值

二、cookie的操作

1、创建cookie

   
  1. //创建cookie
  2. Cookie cookie = new Cookie("my","mycookie");
  3. //将cookie添加到客户端
  4. response.addCookie(cookie);

2、cookie时效  setMaxAge(int second)  设置cookie多长时间销毁,单位是秒
设置 -1:删除浏览器保存到本地文件中的cookie,但是没有删除浏览器缓存中的cookie
设置 0: 删除浏览器保存到本地文件中的cookie和浏览器缓存中的cookie
设置0以上的正整数:保存某个cookie到本地文件中,并设置为有效时间为多少秒

   
  1. //创建cookie
  2. Cookie cookie = new Cookie("my","mycookie");
  3. //设置cookie15秒后失效
  4. cookie.setMaxAge(15);
  5. cookie.getMaxAge();
  6. //将cookie添加到客户端
  7. response.addCookie(cookie);

3、读取cookie信息  request.getCookies()

   
  1. //读取cookie
  2. Cookie[] ck = request.getCookies();
  3. if(ck!=null){
  4. for(Cookie cke:ck){
  5. out.print("<br/>"+"cookieName:=="+cke.getName()+"<br/>"+"cookieValue:=="+cke.getValue());
  6. }

4、设置cookie有效路径  set.Path();
cookie的默认路径是所在当前servlet的路径,通过set.Path()方法可以哪个路径可以读取这个cookie。
例如设置为  /  代表tomcat中的所有项目都可以读取这个cookie。
注意:子路径可以读取父路径中的cookie,父路径不可以读取子路径中的cookie。

   
  1. //创建cookie
  2. Cookie cookie = new Cookie("my","mycookie");
  3. //设置cookie15秒后失效
  4. cookie.setMaxAge(15);
  5. //设置cookie读取路径位当前项目路径下的路径都可以读取这个cookie
  6. cookie.setPath(request.getContextPath());
  7. cookie.getMaxAge();
  8. //将cookie添加到客户端
  9. response.addCookie(cookie);

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/76649146

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。