1

我想通过我写的Java代码删除一个Cookie,

Cookie[] cookies = request.getCookies();  //request - HttpServletRequest  
for (int i = 0; i < cookies.length; i++) {  
    if (cookies[i].getName().equals("cam_passport")) {  
        cookies[i].setMaxAge(0);     
        cookies[i].setValue("");  
        response.addCookie(cookies[i]);  
    }  
}  

我正在“cookies”对象中获取 cookie 列表,但不是必需的“cam_passport”。我观察到的是,当我在 Mozilla 中检查时,这个 Cookie 的 PATH 是不同的。其中,我在“cookies”对象中获取的 cookie 列表的路径为“/”。而且,对于这个“cam_passport”cookie,路径是“/cognos10”。

我每次都需要在一个实例中删除上述 cookie。我怎样才能得到与上述不同路径的 Cookie?

4

1 回答 1

1

您需要向该路径发送重定向,可能还需要一个请求参数。然后,您可以在精确映射到该路径的 servlet 或过滤器中获取 cookie 并在必要时根据请求参数的存在将其删除。最后,如果需要,您可以根据请求参数重定向回原始 URL。

将来,cookie.setPath("/")如果您需要 cookie 在整个 Web 应用程序中可用,请在创建 cookie 期间使用。

于 2012-09-05T20:00:14.090 回答