我遇到了会话Cookie的问题,当我退出时,在Chrome和IE浏览器中销毁该cookie很顺利,但是我无法在firefox中破坏cookie,如果我在注销后再次尝试访问该网站,它让我进去。
我正在使用Struts 2,我有一个拦截器,它读取cookie然后创建或重定向到主页,取决于cookie是否存在。
此外,当firefox的按下按钮时,动作或拦截器不会被执行。
我需要一些代码,我会编辑问题
答案 0 :(得分:0)
在java中:
private deleteCookie(String cookieName)
{
Cookie[] cookies = reqest.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (Long.valueOf(cookie.getName()).equals(cookieName)) {
cookie.setValue(null);
cookie.setMaxAge(0);
cookie.setPath(theSamePathAsYouUsedBeforeIfAny);
response.addCookie(cookie);
}
}
}
}
并将其命名为
deleteCookie("my_cookie_name");
在javascript中:
要删除Cookie,请将过期日期设置为过去的某些内容。执行此操作的功能将是。
var delete_cookie = function(name) {
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
};
然后删除名为my_cookie_name的cookie。
delete_cookie('my_cookie_name');
问题是您正在创建一个新的cookie而不是从浏览器获取现有的cookie。