2012-09-05 86 views
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]); 
    } 
} 

我得到的cookie列表中的“曲奇”对象,但不是必需的一个“cam_passport”。 我已经观察到,这个cookie的路径是不同的,当我在Mozilla检查。 作为在哪里,我在我的“曲奇”对象正在逐渐饼干的名单有他们为“/”路径。 而且,对于这种 “cam_passport” 饼干,路径是 “/ cognos10”。

我需要上面的饼干在每一个时刻被删除。我怎样才能得到像上面那样的不同路径的饼干?

回答

1

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

在未来,创建的cookie,如果你需要的cookie来在整个Web应用程序提供过程中使用cookie.setPath("/")