Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java IE 9设置cookie和重定向失败_Java_Spring_Internet Explorer_Cookies_Redirect - Fatal编程技术网

Java IE 9设置cookie和重定向失败

Java IE 9设置cookie和重定向失败,java,spring,internet-explorer,cookies,redirect,Java,Spring,Internet Explorer,Cookies,Redirect,在我的spring应用程序中,我尝试设置cookie,然后重定向到读取cookie的页面。重定向到另一个网页是可行的,但设置cookies只有在IE9中才会失败 Cookie cookie = MyCookieHandler.createCookie(parameters, domain); response.addCookie(cookie); 重定向是通过设置ModelAndView来处理的 modelView = new ModelAndView("redirect:" + getCal

在我的spring应用程序中,我尝试设置cookie,然后重定向到读取cookie的页面。重定向到另一个网页是可行的,但设置cookies只有在IE9中才会失败

Cookie cookie = MyCookieHandler.createCookie(parameters, domain);
response.addCookie(cookie);
重定向是通过设置ModelAndView来处理的

modelView = new ModelAndView("redirect:" + getCallback());

正如我所说,在FF3+、Chrome和IE7/IE8中工作良好。我的应用程序出了什么问题?有什么建议吗?

我以前遇到过重定向失败的问题。奇怪的是,它似乎在Firefox中工作,但在IE中失败了

http://foo.com/new_site.html
而不是

new_site.html

经过一些尝试后,我添加了以下内容:

response.addHeader("Pragma", "no-cache");
response.addHeader("Cache-Control", "no-cache");

现在它对我有效,不知道这是否是正确的解决方案,也不知道为什么IE9中的缓存不同,但现在它有效了。。。谢谢大家。

我在IE 8、9和10上遇到了类似的问题,缓存控制头也帮不上忙。经过进一步的研究,我不得不在没有缓存控制头的情况下正确地存储cookie(来自一个旧的Java web应用程序)

目前只有Internet Explorer才遵守此策略格式,但它提供了唯一可靠的方法来管理Cookie,而无需手动更改IE隐私设置。P3P隐私策略分为两部分:策略文件和压缩策略头。紧凑型策略标题似乎工作得足够好。P3P的不同类别具有简洁的标题代码,例如导航=>NAV。至少,我会从紧凑策略的INT、NAV和UNI代码开始

下面是两个如何传回标头的示例:

Grails/Java:
    response.setHeader("P3P", "CP='INT NAV UNI'");

PHP:
    header('P3P:CP="INT NAV UNI"')

使用Fiddler捕获302的HTTP响应头并将其发布到此处。您的createCookie方法做什么?
HTTP/1.0 302临时移动日期:2011年7月27日星期三09:27:12 GMT位置:/login/index.html变化:接受编码内容编码:gzip内容长度:20内容类型:text/html;charset=ISO-8859-15 X-Cache:MISS from ham-dmz-mns1.mobilcom.de X-Cache-Lookup:MISS from ham-dmz-mns1.myserver.de:8080 Via:1.0 ham-dmz-mns1.myserver.de:8080(squid/2.7.STABLE5)连接:keep-alive代理连接:keep-alive
但这不是失败的重定向,而是设置cookie。在域xxx.google.com上,我们为google.com设置cookie,而在yyy.google.com上,cookie不可用。这太疯狂了,因为在FF、Chrome等中,它工作正常,只有IE9失败了……然后尝试在它前面添加http://吧。这似乎是IE安全设置问题。哦,对不起,这是
http://yyy.google.com
(已被commentbox忽略),即使在没有http的情况下设置了回调,我的应用程序也会添加此项。请确认。这个特定的P3P头为我解决了IE11(Edge)的“后重定向时未设置cookie”问题。其他一切都没有改变。当此方法开始失败时,返回到基于元标记的刷新/重定向: