【发布时间】:2015-09-23 11:00:09
【问题描述】:
当它在 iframe 中的 Internet Explorer 中打开时,cookie JSESSIONID 在任何请求期间都不会发送到服务器。因此没有使用服务器会话。我发现article 说 IE 只是阻止任何 cookie
iframe 内的页面。这就是为什么JSESSIONID cookie 不会发送到服务器的原因。
那么如何让 IE iframe 中的 java session 可以继续使用呢?
我使用 jsf 并得到 View myview.xhtml 无法恢复的异常。
javax.faces.application.ViewExpiredException.
正好在服务器端我可以访问
request.getCookies()
发现没有名称为JSESSIONID的cookie。
因此会话未分配给服务器上的请求。
另外在网络选项卡上查看 IE 中的开发工具,我看到真正的响应有 Set-Cookie JSESSIONID=...,而后来的请求没有 Cookie JSESSIONID=...
【问题讨论】:
-
请出示您的代码。
-
首先,为什么要使用框架?为什么不只是包括?它来自同一台服务器,因此不是外部或非 HTML 资源,对吧?
标签: internet-explorer jsf iframe