错误信息如下:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.tomcat.util.buf.ByteChunk.equalsIgnoreCase(ByteChunk.java:563)
org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase(MessageBytes.java:335)
org.apache.tomcat.util.http.MimeHeaders.getValue(MimeHeaders.java:289)
org.apache.tomcat.util.http.MimeHeaders.getHeader(MimeHeaders.java:318)
org.apache.coyote.Request.getHeader(Request.java:330)
org.apache.catalina.connector.Request.getHeader(Request.java:1854)
org.apache.catalina.connector.RequestFacade.getHeader(RequestFacade.java:643)
org.apache.jsp.jsp.c_jsp._jspService(c_jsp.java:60)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.下面是我的源代码,找了半天,没发现代码哪错了,大家帮忙看下:
<%
java.util.Enumeration headers=request.getHeaderNames();
try{
while(true){
%>
<%= request.getHeader((String)(headers.nextElement()))+"<br>" %>
<%
}
}catch (java.util.NoSuchElementException e) {}
%>
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.tomcat.util.buf.ByteChunk.equalsIgnoreCase(ByteChunk.java:563)
org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase(MessageBytes.java:335)
org.apache.tomcat.util.http.MimeHeaders.getValue(MimeHeaders.java:289)
org.apache.tomcat.util.http.MimeHeaders.getHeader(MimeHeaders.java:318)
org.apache.coyote.Request.getHeader(Request.java:330)
org.apache.catalina.connector.Request.getHeader(Request.java:1854)
org.apache.catalina.connector.RequestFacade.getHeader(RequestFacade.java:643)
org.apache.jsp.jsp.c_jsp._jspService(c_jsp.java:60)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.下面是我的源代码,找了半天,没发现代码哪错了,大家帮忙看下:
<%
java.util.Enumeration headers=request.getHeaderNames();
try{
while(true){
%>
<%= request.getHeader((String)(headers.nextElement()))+"<br>" %>
<%
}
}catch (java.util.NoSuchElementException e) {}
%>
去 tomcat/work/catalina 。。/c_jsp.java看看60行是啥?
tomcat编译好的文件里找找异常去。估计是某个参数传递出现问题了,导致没有获取到值
这个地方用System.out.println();然后到控制台里去,看看打印出来的是不是null
System.out.println("Key="+key);
out.println(request.getHeader(key));看看输出吧,有一个很有意思的key
6: <% String key=(String)headers.nextElement();
7: System.out.println("key="+key);
8: out.println(request.getHeader(key));
9: %>
10: <%
11: }
呵呵,这次范围缩小了,是request.getHeader(key)这里有错了