我想通过我编写的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?
答案 0 :(得分:1)
您需要向该路径发送重定向,可能还会附带请求参数。然后,您可以在完全映射到该路径的servlet或过滤器中获取cookie并在必要时根据请求参数的存在将其删除。最后,您可以根据请求参数重定向回原始URL。
将来,如果您需要在整个Web应用程序中使用Cookie,请在创建Cookie期间使用cookie.setPath("/")
。