getCookies()在servlet中始终返回null

时间:2014-12-17 14:44:00

标签: java tomcat servlets cookies

不确定我做错了什么。我需要设置一个标识浏览器的cookie并将其发送到服务器,以便根据浏览器进行自定义XSL格式化。在JSP中,我输入以下代码(detectBrowser()是一个确定浏览器类型的JS函数):

document.cookie="browser=" + detectBrowser();

然后我将请求提交给servlet。当我用Fiddler监视请求时,我可以看到名为“browser”的cookie正被发送到服务器:

enter image description here

但是,当我尝试使用以下代码检索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功能

提前致谢!

0 个答案:

没有答案