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这样的语言正确记录和编译.
更新
在Java中检索cookie时,路径和域将始终为null,因为它们仅在客户端浏览器的响应中是必需的.但是,如果您位于同一安全域中(无论路径如何),您仍有权删除它们.不幸的是,因为没有包含路径,所以在不明确知道该路径的情况下,您无法立即删除cookie.只需使用相同的cookie名称,但不同的路径将不起作用.这些被认为是两个不同的cookie,您会发现不是删除cookie,而是在另一条路径上创建另一个cookie.
所以你不应该改变值或路径,因为这将创建一个新的cookie
| 归档时间: |
|
| 查看次数: |
6443 次 |
| 最近记录: |