嗨我正在使用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的版本是什麼?恰恰。 –