嗨我正在使用HttpServletRequest并试图获取标头集的设置。枚举空指针异常?
下面是代码:
public static Map<String, String> getHeaders(HttpServletRequest request) {
Map<String, String> headers = new HashMap<String, String>();
Enumeration<String> headerNames = request.getHeaderNames();
if (headerNames != null) {
while (headerNames.hasMoreElements()) {
String headerName = headerNames.nextElement();
String header = request.getHeader(headerName);
headers.put(headerName, header);
}
}
return headers;
}
此方法似乎在headerNames.nextElement被抛出空指针异常()。
有可能hasMoreElements检查返回true,但元素headerNames.nextElement反过来导致空指针异常?
堆栈跟踪:
Stack trace : Caused by: java.lang.NullPointerException at org.apache.tomcat.util.buf.ByteChunk.equalsIgnoreCase(ByteChunk.java:608) at
org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase(MessageBytes.java:325)
at org.apache.tomcat.util.http.NamesEnumerator.findNext(MimeHeaders.java:414) at org.apache.tomcat.util.http.NamesEnumerator.nextElement(MimeHeaders.java:438)
at org.apache.tomcat.util.http.NamesEnumerator.nextElement(MimeHeaders.java:396) at generateRequestHeaderMap...
这将是巨大的,如果你们能帮助我这个问题。
发布堆栈跟踪并准确指出堆栈跟踪中引用的行。 –
堆栈跟踪:引起:java.lang.NullPointerException at org.apache.tomcat。util.buf.ByteChunk.equalsIgnoreCase(ByteChunk.java:608) at org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase(MessageBytes.java:325) at org.apache.tomcat.util.http.NamesEnumerator。 findNext(MimeHeaders.java:414) at org.apache.tomcat.util.http.NamesEnumerator.nextElement(MimeHeaders.java:438) at org.apache.tomcat.util.http.NamesEnumerator.nextElement(MimeHeaders.java: 396) at generateRequestHeaderMap ... – CTsiddharth
Tomcat的版本是什么?恰恰。 –