gpt4 book ai didi

java - 将 cookie 设置为 null 在 java 中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 06:31:34 25 4
gpt4 key购买 nike

我想删除在我的云服务器中运行的域名和上下文路径为“/”的 cookie。

我有以下代码用于清除云服务器中的cookie

    Cookie cookie = new Cookie(cookieName, null);// cookieName = TEST_COOKIE
String cookiePath = request.getContextPath();
cookie.setPath(cookiePath); // path = "/"
cookie.setDomain("mydomain.com");
cookie.setMaxAge(0);
response.addCookie(cookie);

如果我注意到浏览器中的 cookie,我会看到以下详细信息

cookie name = "TEST_COOKIE"  value  = "MUZJd3NuNDhy"  domain = "mydomain.com" path = "/"

在我的本地主机中,上面的代码可以正常工作,无需设置域名。即使我尝试使用空域名也不起作用。不知道如何继续,非常感谢指导。

编辑-下面的代码在本地主机中没有域,并且上下文路径为/MyApp 时工作正常。

    Cookie cookie = new Cookie(cookieName, null);
String cookiePath = request.getContextPath();
cookie.setPath(cookiePath); // path = "/"
cookie.setMaxAge(0);
response.addCookie(cookie);

当我删除 contextPath“/MyApp”时,它也停止在本地主机中工作,在我的云服务器中,我的上下文路径是“/”。

最佳答案

经过大量调试,我发现 request.getContextPath 在我的远程服务器和 jave 文档中返回空字符串而不是“/”

 * Returns the portion of the request URI that indicates the context
* of the request. The context path always comes first in a request
* URI. The path starts with a "/" character but does not end with a "/"
* character. For servlets in the default (root) context, this method
* returns "". The container does not decode this string.

由于我有根上下文,该方法返回空字符串而不是“/”,我已通过下面的代码修复了它,它现在正在工作。

    if (cookiePath.isEmpty()) {
cookie.setPath("/");
} else {
cookie.setPath(cookiePath);
}

关于java - 将 cookie 设置为 null 在 java 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26055834/

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