我尝试了一个示例Web应用程序来存储cookie并检索它们。
HttpServletResponse response = (HttpServletResponse)Executions.getCurrent().getNativeResponse();
Cookie [] cookies = ((HttpServletRequest)Executions.getCurrent().getNativeRequest()).getCookies();
我在响应中添加了一些cookie,我可以检索它们。
我使用的是IE8,有两种情况 -
我打开了一个IE浏览器(假设为A)。我在另一个IE浏览器中启动了应用程序(假设为B)并设置了cookie值。现在我关闭B并打开一个(另一个假设C)并且我能够从Cookie中检索值,因为A仍处于打开状态。 它运作良好。
如果我打开一个新的浏览器(假设A)现在设置cookie。我关闭A并互相打开(假设B)。在这里,我无法从cookie中检索值,因为没有其他浏览器打开...
寻找解决此问题的建议,以便无论浏览器打开/关闭,都会一直检索值。
答案 0 :(得分:0)
默认情况下,Cookie会在会话(通常是浏览器的窗口)到期时到期。
您需要在将来设置到期日期。大概是setMaxAge()
:
http://www.tutorialspoint.com/servlets/servlets-cookies-handling.htm