gpt4 book ai didi

java - 来自 IE 中的 servlet 的持久性 cookie

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:07:59 24 4
gpt4 key购买 nike

我有一个 cookie,它是从 servlet 生成的,我希望它是持久的——也就是说,设置 cookie,关闭 IE,重新启动它,并且仍然能够读取 cookie。我使用的代码如下:

HttpServletResponse response = 
(HttpServletResponse) FacesContext.getCurrentInstance()
.getExternalContext().getResponse();

Cookie cookie = new Cookie("someKey", "someValue");
cookie.setMaxAge(7 * 24 * 60 * 60);
response.addCookie(cookie);

这在 firefox 中效果很好,但在 IE 6/7 中,cookie 不会在浏览器重新启动之间保存。我已经检查了我在设置中能想到的所有内容,但无法弄清楚是什么导致 cookie 被删除。据我所知,用正数调用 setMaxAge 会使 cookie 持久化。知道为什么会出错吗?

编辑

我已经使用 Olaf 建议的更多信息技巧验证了该 cookie 正试图设置为 session cookie,而不是持久 cookie;最大年龄设置为“ session 结束”。所以它似乎没有为 IE 设置最大年龄 - 我已经验证在 Firefox 中,最大年龄设置正确。我仍然不知道发生了什么。

最佳答案

我对 Java 或 servlet 一无所知,但 IE 只会在有过期日期的情况下保留 cookie,设置 max-age 是不够的,IE 会继续将其视为 session cookie。

关于java - 来自 IE 中的 servlet 的持久性 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/361231/

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