如何从不同的路径删除Cookie?

时间:2012-09-05 09:51:39

标签: java servlets cookies

我想通过我编写的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的路径不同。 在哪里,我在'cookies'对象中获得的Cookie列表的路径为“/”。 而且,对于这个“cam_passport”cookie,路径是“/ cognos10”。

我每次都需要在一个实例中删除上面的cookie。如何获得与上述不同路径的Cookie?

1 个答案:

答案 0 :(得分:1)

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

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