gpt4 book ai didi

Java 小服务程序 : Cookies do not get deleted

转载 作者:搜寻专家 更新时间:2023-11-01 01:52:50 24 4
gpt4 key购买 nike

我在从我的 servlet 代码中删除 cookie 时遇到问题。下面给出的是我的代码。

private void clearCookies(HttpServletRequest req, HttpServletResponse resp) {
Cookie[] cookies = req.getCookies();

for (Cookie curCookie : cookies) {
curCookie.setValue(null);
curCookie.setMaxAge(0);
curCookie.setPath("/");
resp.addCookie(curCookie);
}
}

我在这个方法调用之后做了一个 resp.sendRedirect(url) 。然而,并不是所有的 cookie 都会被删除,例如这个 cookie 永远不会被删除。

Name:   reqURI
Content: ../../webapp/index.jsp
Domain: mgt.appserver.com
Path: /
Send for: Any kind of connection
Accessible to script: Yes
Created: Tuesday, November 26, 2013 4:35:19 PM
Expires: When the browsing session ends

有谁知道我在这里缺少什么?我阅读了 Java Cookie 对象文档,根据该值 0 应该删除 cookie。但事实并非如此。我尝试了更多的建议,但没有一个奏效。我在 Google Chrome 和 Firefox 上试过这个,所以不敢相信这是浏览器的问题。我不知道为什么这样一个通用的东西没有用像 Java 这样的语言正确地记录和完成。

最佳答案

更新

根据 Problem removing cookie in servlet

当您在 Java 中检索 cookie 时,路径和域将始终为 null,因为它们仅在客户端浏览器的响应中是必需的。但是,如果您在同一个安全域中(无论路径如何),您仍然有权删除它们。不幸的是,因为没有包含该路径,您现在不能在不明确知道该路径的情况下删除 cookie。简单地使用相同的 cookie 名称,但使用不同的路径是行不通的。这些被认为是两个不同的 cookie,您会发现您没有删除 cookie,而是在不同的路径上创建了另一个 cookie。

所以你不应该改变值或路径,因为这会创建一个新的 cookie

关于Java 小服务程序 : Cookies do not get deleted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20231556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com