请求标头返回NULL

时间:2012-08-20 08:59:28

标签: java servlets

我在下面的代码中遇到了一些问题,req.getHeader()正在返回NULL

// The code below returns the expected value
String header = req.getHeader("x-key");
String size = req.getHeader("x-size");
String contentType = req.getContentType();

logger.info("Content-Length: " + req.getContentLength());
logger.info("x-key : " + header);
logger.info("x-size : " + size);

// The value of req.getHeader below is returning NULL
for (Enumeration e = req.getHeaderNames(); e.hasMoreElements();) {
   String headerName = (String) e.nextElement();
   logger.info("Name = " + headerName + " " + "Value = " + req.getHeader(headerName ));
}

可能是什么问题?

2 个答案:

答案 0 :(得分:0)

您的代码看起来不错。如果getHeader()返回null,则标头确实为空,即客户端未发送。

因此,首先检查您的客户端并确保它发送标头。其次,尝试使用网络嗅探器,例如Wireshark并记录网络活动。

如果您需要更多帮助,请发布客户的代码。

答案 1 :(得分:0)

以下是api文档摘录的一部分。

public java.util.Enumeration getHeaderNames()

Some servlet containers do not allow servlets to access headers using this method, in which case this method returns null