Frameset导致Cookies和Session丢失的原因及解决办法

参考资料
1 Frameset导致Cookies和Session丢失的原因及解决办法
http://blog.csdn.net/zl_c/article/details/1742775
2 使用frame注意session陷阱
http://blog.csdn.net/sunyujia/article/details/2574006
3 iframe,Frame中关于Session丢失的解决方法
http://funjackyone.iteye.com/blog/123290
4 IE中使用IFrame或Frameset导致session丢失的问题
http://blog.sina.com.cn/s/blog_474cf12b0100hcoi.html

使用框架(Frameset)调用不同域名下的页面,会出现此域下页面的Cookies和Session丢失的现象。原因:基于IE6.0对W3C 关于cookie的P3P协议的支持,使用框架调用不同域下的页面,默认情况下IE会自动禁用此域下的Cookies,因此会出现Cookies和Session丢失的现象。
解决方法:在Frame调用的JSP页面里加上Response header确认信息。
<%
response.setHeader("P3P","CP=CAO PSA OUR");
%>

最简单的方法就是在iis里设置:
管理 工具——〉选择一个网站 ——〉属性——〉http头,增加一个http头
然后输入头名:P3P
输入头内容:CP=CAO PSA OUR
图片如下:
Frameset导致Cookies和Session丢失的原因及解决办法
在过滤器中:
((HttpServletResponse)response).setHeader("P3P","CP=CAO PSA OUR");
 chain.doFilter(request, response);

你可能感兴趣的:(FRAMESET)