在A项目中登陆后才能访问B项目,所以在项目中使用了cookie,cookie保存了用户的加密信息。而就在注销的时候我却遇到了问题,问题是当我注销后我存入的cookie却依旧存在。我于是怀疑我代码段出现了问题,代码如下:
删除cookie调用的方法(这里用的是spring的MVC)
/**
* 用户注销
*/
@RequestMapping("/exitUser.htm")
public void exitUser(HttpServletRequest request,
HttpServletResponse response,SessionStatus status) {
CookieUtil.delCookie(request, response, WebConstant.COOKIE_DAMAIN_NAME);
status.setComplete();
HttpSession session = request.getSession(false);
if(session!=null){
session.removeAttribute("user");
session.removeAttribute("userSites");
session.invalidate();
}
}
cookieutil类的删除方法如下:
public static void delCookie(HttpServletRequest request,HttpServletResponse response,String key){
Cookie cookie = new Cookie(key, null);
cookie.setMaxAge(WebConstant.Cookie_MIN_AGE);//最小值为0,已设为常量
cookie.setPath("/");
cookie.setDomain(WebConstant.DOMAIN);//WebConstant.DOMAIN已设为常量
response.addCookie(cookie);
}
而且打断点也执行了该方法,但是我怎么看也看不出问题。那么我想是不是cookie.setMaxAge这个方法无效了呢?于是我又打断点查找该cookie,通过断点,我看到cookie的MaxAGE属性是-1,无论如何怎样赋值都得到的是-1。为什么始终是-1呢,明明是赋值了的呀,后来承蒙一位高人的指点详见
http://xiaolongfeixiang.iteye.com/blog/656454知道服务器端是得不到cookie的生存时间的。
那应该是什么问题导致没有删除呢?于是我又做了个单独的例子,发现调用同样的方法是可以删除的啊!
实在找不出答案了,我又看了下jsp,代码如下:
<a href="#" onclick="logout();" ><span>退出</span></a>
<iframe style="display:none" name="logout_frame"></iframe>
<iframe style="display:none" name="logout_frame_group"></iframe>
<form action="${ctx }/exitUser.htm" name= "userLogout"
target="logout_frame" method="GET">
</form>
<form action="${ctx_group }/groupCancel.do" name = "groupLogout"
target="logout_frame_group" method="GET">
</form>
<script type = "text/javascript">
function logout(){
try{
document.groupLogout.submit();
document.userLogout.submit();
}catch(err){}
window.location.href="http://www.jobqun.com/jsp/login.jsp";
}<!-- 因为两个web应用的session都必须清空,所以2次提交 -->
</script>
当我把红色部分注释掉后,发现cookie终于成功删除了,至于为什么我也真的没有想通,我想会不会是提交太快了,导致浏览器中断了前天的方法而执行后面的方法。与是又把代码改成了这样
function logout(){
try{
document.groupLogout.submit();
document.userLogout.submit();
}catch(err){}
setTimeout("window.location.href=http://www.jobqun.com/jsp/login.jsp",200);
}
cookie成功删除。
分享到:
相关推荐
易语言枚举并删除指定Cookie源码.zip易语言项目例子源码下载易语言枚举并删除指定Cookie源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考
//根据cookies key值删除cookie function delCookie(name) /** * json对象转字符串形式 */ function json2String(jsonObj) /** * json字符串转json对象 */ var jsonObj = eval('('+jsonStr+')') 后台Java解析json
同够创建Cookie实现购物车,可将商品ID号和商品购买数量添加到Cookie中,然后可以通过控件绑定Cookie中的商品信息,非常有用,
Cookie项目源码,用于cookie的保存,删除,获取等使用,BS项目,vs可以直接打开运行。
一般在我们做项目时,我们都会通过POST请求拿到服务器给到的set-Cookies,保存在浏览器的Cookie里 这里需要明确一点。缓存有三类 cookie、 sessionStorage 、localStorage cookie: 存储在用户本地终端上的数据。有时...
在一个由许多不同的预构建组件和脚本构成的网站的世界中,即使您编写的脚本和cookie编写得很差,XCK也会使用智能脚本和cookie的加载和删除来帮助您保持合规性。 XcooBee Cookie套件项目是一个带有几个NPM软件包的...
主要介绍了JavaScrpt中使用 cookie 设置查看与删除功能的方法,文中通过实例代码给大家介绍了js cookie常用的3个预设函数库,需要的朋友可以参考下
在cookie表中,您可以查看每个cookie项目的域,名称,值和其他属性。 通过单击旁边的-铅笔图标-来编辑项目。 此外,可以通过标记复选框然后单击顶部的-删除-按钮来删除项目。 在顶部工具栏中,有一个加号按钮,可...
删除拒绝的Cookie(或使用选择加入方案时不接受) 记录用户接受和拒绝各种Cookie时的操作 轻松添加新的Cookie并无缝地重新征求新Cookie的同意 文献资料 配置 将cookie_consent添加到您的INSTALLED_APPS 。 如果...
基于python asyncio的web网站cookie管理项目;目前提供周期性的登陆获取指定网站Cookie,检测Cookie是否有效, 异常账号睡眠,通过API获取Cookie以及查看Cookie使用情况等功能。 模块功能简介: api:对外接口服务...
它能够设置,获取和删除cookie,接受各种参数,并支持链接。 它没有任何依赖性,并且经过压缩和压缩,只有0.9 KB小。您为什么要使用它? 在JavaScript中使用Cookie很糟糕。 [removed]绝对是JavaScript的丑陋部分之...
注:本项目为开源项目,不能用于商业应用,仅供学习。 ### 使用工具: maven(构建项目),svn(版本控制工具),myeclipse(集成开发环境),nginx(反向代理), FastDFS (图片服务器),tomcat(web服务器),zookeeper...
它包含了一个适用于一般企业应用系统的框架,以及与用户权限管理相关的结构和模块,因此PB可以作为中小型企业应用系统或一般网站系统的实现参考或者项目雏形。 PB包括以下模块:职员登录、模块导航、系统代码管理、...
在vue中,不能用$cookies.get('loginAct') && $cookies.get('loginPwd')为checked赋值,此时值为$cookies.get('loginPwd')。应该用!!($cookies.get('loginAct') && $cookies.get('loginPwd')),此时值为一个布尔...
cookie很实用的一个功能,可以判断某个状态,在项目中使用率极高 代码如下: function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Days*24*60*...
这个网上书城系统使用Eclipse开发的,代码完整,jar包齐全,sql脚本包含在里面,将下载下来的项目导入到Eclipse中即可运行,本项目做了很多校验,对可能出现的bug做了考虑,属于比较完善的系统。本系统包含九个模块...
Browser_forensics 在这个项目中,我们制作了一个网络浏览器取证工具,可以恢复已删除的 chorme 和 mozilla 的历史记录、缓存和 cookie。 该工具只需恢复已删除的 chrome 和 mozilla 的 sqlite 数据库文件,并在时间...
饼干清洁剂 仅删除活动选项卡上的cookie并执行硬重装。 键盘快捷键:Ctrl + Shift + Z安装: 从将扩展程序添加到Chrome如何使用访问任何您要清除Cookie的网站。 单击cookiecleaner图标并确认您的操作。 或者,您可以...
本阶段主要带领大家学习会话控制中SESSIONH和COOKIE的概念和用法、还有文件操作、MySQL数据库建表,数据查询,添加,修改,删除等基本操作命令以及PHP面向过程方式操作数据库的方法。 步骤4: PHP项目实战 在本阶段,...
我不会删除它,这是一个非常好的展示我技能的项目,无论其他人是否可以将其重用于他们的运动鞋机器人并为某些人增加更多竞争。 非常喜欢这种 repo,因为如果你是初学者,你会喜欢它的。 以下是注意事项: