我在下面的代码中遇到了一些问题,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 ));
}
可能是什么问题?
答案 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