我试图使用Set-Cookie头设置cookie的服务器端。
使用的球衣cookie设置服务器端是这样的:
NewCookie cookie = new NewCookie("token", tokenValue, "/", "", 1, "", 3600, new Date(System.currentTimeMillis() + 3600000), false, false);
return Response.ok()
.cookie(cookie)
.build();
在Chrome我的响应头看起来是这样的:
当我尝试发送另一个请求到服务器,以检查cookie被发送回,一切正常。 请求头看起来是这样的:
Firefox和Opera浏览器也表现出相同的行为。 虽然,当我尝试Internet Explorer中,还有另一个故事...
所述第一请求的响应头:
所述第二请求的报头中:
基本上没有请求头,并且cookie不会设置...难道我做错了什么,当我设置cookie? 我试图从其他类似的问题的各种解决方案,但似乎没有任何工作...
编辑:
通过禁用保护模式改变了IE浏览器的Internet选项,并允许所有Cookie,但仍没有...
编辑2:
尝试它在不同的计算机,我得到不同的结果。 在一些电脑它工作正常,并在一些没有。 必须有上的Internet Explorer,我错过了一些设置。 虽然,无论我怎么努力,我不能让它上运行localhost
...
解
显然,作为dabaicai评论不应该有任何空属性值的Fileds。 当我建立了我的cookie中的domain
和comment
atrribute了空值:
NewCookie cookie = new NewCookie("token", tokenValue, "/", "", 1, "", 3600, new Date(System.currentTimeMillis() + 3600000), false, false);
我把它改为:
NewCookie cookie = new NewCookie("token", tokenValue, "/", httpServletRequest.getServerName(), 1, "no-comment", 3600, new Date(System.currentTimeMillis() + 3600000), false, false);
而现在一切都将按预期在Internet Explorer中呢!