无法在JAVA EE中破坏Firefox的Cookie

时间:2014-06-20 13:52:37

标签: java javascript firefox cookies

我遇到了会话Cookie的问题,当我退出时,在Chrome和IE浏览器中销毁该cookie很顺利,但是我无法在firefox中破坏cookie,如果我在注销后再次尝试访问该网站,它让我进去。

我正在使用Struts 2,我有一个拦截器,它读取cookie然后创建或重定向到主页,取决于cookie是否存在。

此外,当firefox的按下按钮时,动作或拦截器不会被执行。

我需要一些代码,我会编辑问题

1 个答案:

答案 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。