【发布时间】:2009-11-11 16:52:19
【问题描述】:
全部,
虽然我在论坛上看到了相关的话题,但是我没有看到关于这个问题的明确解决方案。 我正在尝试设置一个具有过期时间的 javax.servlet.http.Cookie(以便它在浏览器会话中持续存在)。代码:
public void respond(HttpServletRequest req, HttpServletResponse resp) {
int expiration = 3600;
Cookie cookie = new Cookie("TestCookie", "xyz");
cookie.setDomain("");
cookie.setVersion(0);
cookie.setPath("/");
cookie.setMaxAge(expiration);
cookie.setSecure(false);
resp.addCookie(cookie);
}
当我签入 IE 开发人员工具时,我没有看到此 cookie 被设置。在互联网上搜索给了我线索,IE 不考虑 Max-Age,但只适用于 Expires。如果这对 IE 不起作用,那么是否有一种行之有效的方法可以为持久性 cookie 设置 HTTP 响应标头,以便它适用于 IE?
PS:这适用于所有其他浏览器。
我尝试为具有 expires 属性的 cookie 创建一个字符串。 IE 成功创建它,但它丢失了域(默认 - “”)并显示“.com”并将其转换为会话 cookie 而不是持久性 cookie。这同样适用于所有其他浏览器。
请帮忙。 谢谢。
【问题讨论】:
-
任何版本的 IE,特别是 IE8
标签: cookies persistent