java清除不掉cookie,java清除cookie
首先遇到的第一个坑就是发现cookie删不掉。 当然,这里说明一下,并不是js或者浏览器本身的机制不允许删除cookie,只是我删除的方式不对。
一开始我只是简单的将cookie设置为空,将expires设置为-1。心里想着,已过期,cookie自动清除,美滋滋,然而事实并没有按照我想的发生。downloading还是躺在cookie里面没有任何变化,是因为没有刷新吗?于是我在后面再次获取了一下:
console.log(document.cookie); 发现cookie里面确实还是有downloading这个字段。
没办法,打开application看看,果然发现了问题,后端传递过来的这个cookie没有设置expires,但是却默认设置了path,再联想我之前删除的cookie是没有带任何参数的,结合cookie的机制,发现了问题所在。
解决办法:
在删除cookie的时候要加上这个字段所带的参数,可能是出于安全的考虑,不同的参数,即使名字相同,也会当成两个cookie存储,所以我删除的并不是后端传过来的cookie,自然就删除不了。
第二个坑,后端设置cookie默认的path属性没有规律。 出于代码复用和性能考虑,后端的很多功能都会集成到一个API,再加上前端可能会用到一些第三方的框架,这些框架所采用过的设计模式都各不相同,都会造成一些不可预测的结果,而项目有可能在任何地方都会有下载的需求,所以当我发现如何删除cookie的时候,我又发现了一个坑,那就是不知道该如何准确获取cookie的path属性。而且如果你请求的接口默认path与你所在的url不匹配的话,浏览器将会忽略这次的cookie设置,在我的项目的直接体现就是,后端响应了cookie,但是我前端接收不到,页面loading无法消失,卡死了。
解决办法:
根据cookie的机制,当cookie的path属性为'/'的时候,cookie就不会被忽略。
所以解决办法就是让后端在set-cookie的时候讲path设置成固定的'/',以java为例:
Cookie cookie = new Cookie("Downloading","true"); cookie.setPath("/"); response.addCookie(cookie);
java清除不掉cookie,java清除cookie相关推荐
- java清除不掉cookie,java操作cookie示例(删除cookie)
1.设置Cookie Cookie cookie = new Cookie("key", "value"); cookie.setMaxAge(60); 设置6 ...
- Web页面或app等前端页面之Java Web的JSP、Servlet、Cookie、Session等技术小结
Java Web学习,掌握JSP.Servlet.Cookie.Session等内容,使用JSTL进行数据展示完成实际应用. 2.3.1 XML基础 XML的用途.语法规则.语义约束.如何解析XML, ...
- cookie java 写入_JAVA中如何读写COOKIE
Java中删除cookie Cookie[] cookies=request.getCookies();//cookies不为空,则清除 if(cookies!=null) { String valu ...
- Hbuilder MUI里面使用java.net.URL发送网络请求,操作cookie
1. 引入所需网络请求类: var URL = plus.android.importClass("java.net.URL");var URLConnection = plus. ...
- Java创建cookie和删除cookie
Java创建cookie和删除cookie //写cookie操作 Cookie cooki; cooki=new Cookie("bbs_0001" ...
- 微信WebView关闭后本地cookie无法清除问题
问题背景 在微信WebView下的页面中登录后,关闭WebView返回后再次进入页面,发现登录态还存在,原因是微信不会主动清除cookie以及其他的缓存. 期望是关闭窗口后会清除cookie,重新进入 ...
- java删除一级域名下cookie_java操作cookie示例(删除cookie)
1.设置Cookie 代码如下: Cookie cookie = new Cookie("key", "value"); cookie.setMaxAge(60 ...
- 《对Java的分析总结》-Java中的垃圾回收机制中的标记-清除算法 (五)
标记-清除算法 标记-清除算法(mark-sweep 1 标记-清除算法 回收过程描述 类别 描述 mutator 设置 collector 收集 mutator roots mutator根对象 1 ...
- java ee会话_Java EE会话技术Cookie和Session
会话技术 一.定义 会话技术是帮助服务器记住客户端状态的(区分客户端的).将客户访问的信息存在本地的叫Cookie技术,存在服务器上的叫Session技术. 注意: 一次会话何时开始?从打开一个浏览器 ...
- java cookie包_Java cookie的使用
转自:http://www.blogjava.net/tscfengkui/archive/2011/01/21/343341.html 很感谢,让小白明白其中道理 Java cookie的使用 1. ...
最新文章
- android 教程 最新版,Android最新版本开发环境搭建图文教程
- mfc将文件内容引入编辑框_南开大学黄津辉教授团队联合加拿大麦克马斯特大学Ravi教授团队发表微型MFC水质传感器实际废水检测适用性的研究...
- 1103 Integer Factorization (30 分)【难度: 中 / 爆搜】
- 海康/大华 IpCamera RTSP地址和格式
- java的成员方法_java编程中的成员方法是什么?
- java切入式编程显示屏_C语言嵌入式系统编程修炼之四:屏幕操作
- android so abi适配,Android NDK学习(六): so文件兼容之abiFilters的使用
- pheatmap, gplots heatmap.2和ggplot2 geom_tile实现数据聚类和热图plot
- 聚焦数智技术助力乡村振兴 京东云为乡村振兴注入“数智”力量
- 面试题:左旋转字符串
- 首个官方气象数据集公开,已训练出20多个“青出于蓝”的AI
- java_db常见错误总结
- 算法求解中的变量、数组与数据结构(STL 中的容器)
- 数据结构上机实践第14周项目1(4) - 验证算法(平衡二叉树)
- 小甲鱼python自学笔记
- hive窗口函数和hive基础使用
- 计算机网络在电力系统继电保护的应用毕业论文,电力系统继电保护技术 毕业论文.doc...
- 解决idea项目没有蓝色小方块
- 如何登入MySQL数据库
- Vue学习之Vant图标使用及问题