我在Tomcat上使用Servlet API 2.5的Cookie类时遇到问题.我从HttpServletRequest对象中提取cookie列表并迭代它们,如下所示:
Cookie[] cookies = request.getCookies();
for(Cookie cookie : cookies) {
System.out.println("Name=" + cookie.getName() + " Domain=" + cookie.getDomain());
}
Run Code Online (Sandbox Code Playgroud)
但是,对于请求中的每个cookie,Domain为null.为什么是这样?我问的原因是因为我在两个不同的域中有一个同名的cookie,我希望能够根据域来区分它们.为了帮助澄清这种情况,我的同名cookie被设置在.anydomain.net和.subdomain.anydomain.net中.两者都在请求中发送,但域到达servlet时为null.servlet无法看到发送给它的cookie域的预期行为吗?
编辑:我在之前的servlet请求中设置了cookie以及域,过期和路径.使用这些cookie进入浏览器的下一个请求将域显示为null.我已经验证了Cookie是在浏览器中的正确域中设置的.
编辑2:我正在使用Tomcat 6