java清除cookie的值可能遇到的问题
来源:互联网 发布:datagridview筛选数据 编辑:程序博客网 时间:2024/05/29 10:00
今天代码中清除cookie,却发现没有能清掉,而且还出了奇怪的问题。
先看清除cookie的代码:
if(cookies[i].getName().equals("userId") || cookies[i].getName().equals("userNickname") || cookies[i].getName().equals("userLevel")){
Cookie cookie = new Cookie(cookies[i].getName(), null);
cookie.setMaxAge(-1);
response.addCookie(cookie);
}
这样,原理的cookie是没有清掉的,而且,获取到的value为“”,而不是null!
截图为证:
这有时候会造成很大的问题。
经查证,知道cookie.setMaxAge(-1);是在关掉浏览器的时候才清除。立即清除需要cookie.setMaxAge(0);
代码改为:
if(cookies[i].getName().equals("userId") || cookies[i].getName().equals("userNickname") || cookies[i].getName().equals("userLevel")){
Cookie cookie = new Cookie(cookies[i].getName(), null);
cookie.setMaxAge(0);
response.addCookie(cookie);
}
好了,结果cookie真的被清除了,是完全清除了!
最后,猜想一下为什么Cookie cookie = new Cookie(cookies[i].getName(), null);读取cookie的时候是“”而不是null。cookie是以字符串的形式存储的,当设为null时,存储的时候不可能以null存储,把它的值设为空也就情理之中了,可能就是因为这个原因吧。不过个人认为如果在存储为null的时候,读取的时候能自动转换为null而不是“”,就更好了。
- java清除cookie的值可能遇到的问题
- java编译中可能遇到的问题
- Yii2清除cookie的问题
- 面试可能遇到的问题
- 将来可能遇到的问题?
- Testlink可能遇到的问题
- Hadoop可能遇到的问题
- 项目经理可能遇到的问题
- 跨子域的Cookie的清除问题
- 清除WebView的Cookie
- 清除浏览器的cookie
- 网站制作中可能遇到的问题
- VC++中可能遇到的问题
- 面试中可能遇到的问题
- VC++中可能遇到的问题收藏
- libphp5.so可能遇到的问题(转摘)
- CE开发中可能遇到的问题
- CE开发中可能遇到的问题
- IEC61850标准第一章
- 没有与参数列表匹配的 重载函数 AfxMessageBox
- php-apc
- misc_register、 register_chrdev 的区别总结
- linux 下好玩的命令
- java清除cookie的值可能遇到的问题
- android 内容保存
- 回车与换行的区别
- centos - 备忘
- U盘启动安装Ubuntu
- 寫個最輕量級的程序,不需要什麼運行平台。
- iOS Assembly Tutorial: Understanding ARM
- Vim for Eclipse
- 远程桌面remote desktop connection manager