【发布时间】:2013-05-07 19:57:26
【问题描述】:
这是我在 jsp 中的代码,当我运行它时出现如下错误。我正在使用 tomcat 。我真的很想知道这个问题的原因是什么?
test.jsp
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="admin.User"%>
<%@page import="admin.ConnectionManager"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title> test </title>
</head>
<body>
<div>
<table>
<%
ResultSet rs = User.loadAll();
while (rs.next()) {
%>
<tr>
<TH>ID</TH>
<TH>Name</TH>
<TH>Surname</TH>
<TH>Email</TH>
</tr>
<tr>
<td> <%= rs.getInt(1) %> </td>
<td> <%= rs.getString(2) %> </td>
<td> <%= rs.getString(3) %> </td>
<td> <%= rs.getString(4) %> </td>
</tr>
</table>
</div>
<%
}
%>
</body>
</html>
HTTP 状态 500 - java.lang.NullPointerException
type Exception report
message java.lang.NullPointerException
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:502)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause
java.lang.NullPointerException
org.apache.jsp.test_jsp._jspService(test_jsp.java:75)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.36 logs.
Apache Tomcat/6.0.36
【问题讨论】:
-
尝试将你的 while 循环包装在一个空检查中,看看你是否真的从你的用户负载中得到了结果:
if (rs != null) {... -
究竟什么是空?跟踪您的异常。
-
检查位于 Tomcat/work 目录下的 test_jsp.java 文件。它是您的 JSP 文件翻译成 java,在第 75 行,您将识别出您自己插入到 JSP 页面中的 java 代码。
-
请不要再问同样的问题;您可以编辑您的原件。