我想通过我编写的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?
最佳答案
您需要发送到该路径的重定向,可能还需要发送请求参数。然后,您可以在映射到该路径的 servlet 或过滤器中获取 cookie 并删除它(如有必要,根据请求参数的存在)。最后,如果需要的话,您可以根据请求参数重定向回原始 URL。
将来,如果您需要 Cookie 在整个 Web 应用程序中可用,请在创建 Cookie 时使用 cookie.setPath("/")
。
关于java - 如何删除不同路径的Cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12278718/