不确定我做错了什么。我需要设置一个标识浏览器的cookie并将其发送到服务器,以便根据浏览器进行自定义XSL格式化。在JSP中,我输入以下代码(detectBrowser()是一个确定浏览器类型的JS函数):
document.cookie="browser=" + detectBrowser();
然后我将请求提交给servlet。当我用Fiddler监视请求时,我可以看到名为“browser”的cookie正被发送到服务器:
但是,当我尝试使用以下代码检索cookie时:
Cookie[] cookies = request.getCookies();
if (cookies != null && cookies.length > 0) {
for (int i = 0; i < cookies.length; i++) {
String name = cookies[i].getName();
String value = cookies[i].getValue();
if (name.equalsIgnoreCase("browser")) {
session.setAttribute("browser", value);
}
}
}
数组“cookies”始终为null。所以我很困惑 - Fiddler扫描似乎确认cookie正在从浏览器发送到服务器,但是servlet似乎无法抓住它?
有什么想法吗?我在Tomcat 7 Web服务器上使用TomEE,这种行为在所有浏览器中都是一致的--Fiddler扫描说它正确地将cookie发送到服务器但是当我执行request.getCookies()时servlet总是得到null功能
提前致谢!