0

我尝试了一个示例 Web 应用程序来存储 cookie 并检索它们。

HttpServletResponse response = (HttpServletResponse)Executions.getCurrent().getNativeResponse();
Cookie [] cookies = ((HttpServletRequest)Executions.getCurrent().getNativeRequest()).getCookies();

我在响应中添加了一些 cookie,并且能够检索它们。

我正在使用 IE8,有两种情况 -

  1. 我打开了一个 IE 浏览器(假设 A)。我在另一个 IE 浏览器(假设 B)中启动了应用程序并设置了 cookie 值。现在我关闭 B 并打开一个(另一个假设 C)并且我能够从 Cookie 中检索值,因为 A 仍然打开。它运作良好。

  2. 如果我现在打开一个新浏览器(假设 A)设置 cookie。我关闭 A 并打开另一个(假设 B)。在这里,我无法从 cookie 中检索值,因为没有打开其他浏览器...

寻找解决此问题的建议以始终检索值,而不管浏览器打开/关闭。

4

1 回答 1

0

默认情况下,cookie 在会话(通常是浏览器的窗口)到期时到期。

您需要在将来设置到期日期。大概与setMaxAge()

http://www.tutorialspoint.com/servlets/servlets-cookies-handling.htm

于 2013-06-26T10:19:59.093 回答