jsp中怎么设置Cookie的域名?Cookie是不可跨域名的。域名www.google.com颁发的Cookie不会被提交到域名www.baidu.com去。这是由Cookie的隐私安全机制决定的。隐私安全机制能够禁止网站非法获取其他网站的Cookie。
正常情况下,同一个一级域名下的两个二级域名如www.helloweenvsfei.com和images.helloweenvsfei.com也不能交互使用Cookie,因为二者的域名并不严格相同。如果想所有helloweenvsfei.com名下的二级域名都可以使用该Cookie,需要设置Cookie的domain参数。例如:
// 新建Cookie对象,对象中包含有Cookie名称和Cookie内容
Cookie cookie = new Cookie(“time”, “20080808″);
// 设置Cookie的域名
cookie.setDomain(“.helloweenvsfei.com”);
// 设置Cookie的访问路径
cookie.setPath(“/”);
// 设置Cookie有效期
cookie.setMaxAge(Integer.MAX_VALUE);
// 用response把Cookie输出到客户端
response.addCookie(cookie);
读者可以修改本机C:\WINDOWS\system32\drivers\etc下的hosts文件来配置多个临时域名,然后使用使用上述代码来设置跨域名Cookie来验证domain属性。
注意:domain参数必须以点(“.”)开始。另外,name相同但domain不同的的两个Cookie是两个不同的Cookie。如果想要两个域名完全不同的网站共有Cookie,可以生成两个Cookie,domain属性分别为两个域名,输出到客户端。