0

我对下面的代码有一些问题,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 ));
}

可能是什么问题呢?

4

2 回答 2

0

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

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

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

于 2012-08-20T09:03:15.857 回答
0

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

公共 java.util.Enumeration getHeaderNames()

Some servlet containers do not allow servlets to access headers using this method, in which case this method returns null
于 2012-08-20T09:05:35.360 回答