Java Servlet:Cookie不会被删除

Sur*_*Att 4 java cookies servlets

我在从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);          
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这个方法调用之后做一个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
Run Code Online (Sandbox Code Playgroud)

有谁知道我在这里缺少什么?我阅读了Java Cookie对象文档,根据该值,0应该删除cookie.但事实并非如此.我尝试了更多的建议,但都没有.我尝试使用Google Chrome和Firefox,因此无法相信这是浏览器的问题.我不知道为什么这样的通用的东西没有用Java这样的语言正确记录和编译.

Sca*_*bat 7

更新

根据问题删除servlet中的cookie

在Java中检索cookie时,路径和域将始终为null,因为它们仅在客户端浏览器的响应中是必需的.但是,如果您位于同一安全域中(无论路径如何),您仍有权删除它们.不幸的是,因为没有包含路径,所以在不明确知道该路径的情况下,您无法立即删除cookie.只需使用相同的cookie名称,但不同的路径将不起作用.这些被认为是两个不同的cookie,您会发现不是删除cookie,而是在另一条路径上创建另一个cookie.

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