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确认信息。 
Java代码    收藏代码
  1. <%  
  2. response.setHeader("P3P","CP=CAO PSA OUR");  
  3. %>  

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

你可能感兴趣的:(FRAMESET)