2013-05-07 3 views
0

Это мой код в jsp, когда я запускаю его, чтобы получить ошибку, как показано ниже. Я использую tomcat. Я действительно хочу знать, что может быть причиной этой проблемы?NullPointerException в 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 Status 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

+0

Попробуйте обернуть цикл while в нулевой проверке, чтобы увидеть, действительно ли вы получаете результат от загрузки пользователя: 'if (rs! = Null) {...' –

+0

Что такое null? Отслеживайте свое исключение. – skuntsel

+0

Проверьте файл test_jsp.java, расположенный в каталоге Tomcat/work. Это ваш JSP-файл, переведенный в java, и в строке 75 вы узнаете свой собственный код Java, который вы вставили на страницу JSP. –

ответ

0

вы должны проверить Apache Tomcat регистрируется для этого, но, вероятно, User.loa dAll() возвращает null, который установлен в rs, а исключение NullPointerException выбрано на rs.next()

Кстати, либо тело, и html не закрыты или вы просто неправильно скопировали код.

+0

да, я их закрыл. thats метод public static ResultSet loadAll() { \t \t запрос на возврат ("SELECT * FROM user"); \t} что я должен делать, чтобы не возвращать null – arual

+0

, когда я вхожу в журналы apache tomcat, нет файла, это потому, что я разрабатываю свое приложение через Eclipse? Как я могу проверить их из eclipse? – arual

+0

Журналы должны быть там, вы используете плагин eclipse для запуска/выключения Tomcat? На самом деле вам удалось решить вашу проблему? – nsawaya

Смежные вопросы