错误如下:
500 Servlet Exception
java.lang.NullPointerException
at _jsp._jsp._main__jsp._jspService(jsp/main.jsp:28)
at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
at com.caucho.jsp.Page.pageservice(Page.java:578)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:192)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:181)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
at com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:435)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:602)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
at java.lang.Thread.run(Thread.java:595)在个人计算机上行,可是在这台服务器上不行
配置是jdk1.4.2+tomcat5.0+sqlserver2000
main.jsp代码如下:<%@page contentType="text/html;charset=gb2312" %>
<%@page import="java.sql.*" %>
<%@page import="riso.mybook.jsp.c7.*" %>
<%!
 private void showChildRecordes(JspWriter out,int fatherId) {
DBQuery dbQuery = new DBQuery();
try {
ResultSet rs = dbQuery.getChildRecordes(fatherId);
while (rs.next()) {
int fileid = rs.getInt("fileid");
out.print("~回复:<a href=view.jsp>?fileid=");
out.print(fileid);
out.print("target=bottom>");
out.print(rs.getString("title"));
out.print("</a><br>");
showChildRecordes(out,fileid);
}
} catch (java.sql.SQLException e) {
} catch (java.io.IOException e) {
}
}
%> 
     <jsp:useBean id="dbQuery" class="riso.mybook.jsp.c7.DBQuery"  scope="page"/>
     <% int pageSize = 5;
       int pageNumber=1; 
       int last=0;    
        int up,down,count=0,over=0,i;
        ResultSet rs2;        
      if (request.getParameter("pageNumber")==null)    
        {
       pageNumber=1;      
       }
       else if (request.getParameter("pageNumber").equals("")) 
        {
       pageNumber=1;      
        }
       else
      
          {
       pageNumber = Integer.parseInt(request.getParameter("pageNumber"));
         }
       rs2=dbQuery.executeQuery( "SELECT * FROM lyb WHERE fatherid=0 ORDER BY addtime DESC");
    while(rs2.next())
  {
   count++;
  }
        over=(int)Math.ceil((double)count/5);
        if(pageNumber==0 || pageNumber>over)
         { 
          pageNumber=over;
         }     
       if(pageNumber==1)
         {
          up=1;
         }
     else
         {
          up=pageNumber-1;
         }
       if(pageNumber==over)
         {
          down=over;
         }
       else
         {
          down=pageNumber+1;
          }
      
       if(pageNumber==1)
         {
          rs2=dbQuery.executeQuery("SELECT * FROM lyb WHERE fatherid=0 ORDER BY addtime DESC");
     }
   else
     {
 rs2=dbQuery.executeQuery( "SELECT * FROM lyb WHERE fatherid=0 ORDER BY addtime DESC");

     int absoluteLocation=pageSize*(pageNumber-1);

     try{ for(i=1;i<absoluteLocation;i++)
         {  
      rs2.next();
     }
        }
     catch(Exception e)
        {e.getMessage();      
        }
      }        
     %>       
         
      
      <html>
      <head>
      <title>留言版</title>
      <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
      
      </head>
      <style type="text/css">
      <!--
      .n9pt{font-size:9pt}
      a{ font-size:9pt; color:#000000;text-decoration:none}
      a:hover{font-size:9pt; color:#FF0000;text-decoration:none}
      -->
      </style>
      
      <body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" align=center valign=middle>
      <br><blockquote><div align="center" style="font-size: 14pt; color: black;"><h4><font size="6"><strong>南航中德跨文化研究中心留言版</strong></font></h4></div></blockquote>
      <br>
      
      
      <table width="760" border="0" align="center" cellpadding="2" cellspacing="2" class="n9pt">
      
      <tr>
      
      <td width="500">
      <a href="main.jsp?pageNumber=1">首页</a>
      &nbsp;&nbsp;
      <a href="main.jsp?pageNumber=<%=up%>">前一页</a>
      &nbsp;&nbsp;
      <a href="main.jsp?pageNumber=<%=down%>">后一页</a>
      &nbsp;&nbsp;
      <a href="main.jsp?pageNumber=<%=last %>">最后一页</a>    
      </td>
      <td width="130">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;页次:<%=pageNumber%> / <%=over%>
      </td>
       <td width="130" valign=bottom> 
     <form action=main.jsp method=post>
      跳至第<input type=text size=3 name=pageNumber>页<input type=submit name=SEND value="go">
     </form>
       </td>
       </tr>
       
       
       <tr>
       
       <td width="500" bgcolor="#CCCCCC">
       <div align="center"><font color="#FFFFFF">标题</font></div>
       </td>
       <td width="130" bgcolor="#CCCCCC">
       <div align="center"><font color="#FFFFFF">作者</font></div>
       </td>
       <td width="130" bgcolor="#CCCCCC">
       <div align="center"><font color="#FFFFFF">发表时间</font></div>
       </td>
       </tr>
       
     <%
       String title, author, addtime, email;
       int fileid = 1;
       //ResultSet rs2 = dbQuery.getTopicList(pageSize, pageNumber,up,down,over);       if (!(rs2 == null)) {
       int outputRecordCount = 0;
       while (rs2.next()) {
           fileid = rs2.getInt("fileid");
           title = rs2.getString("title");
           author = rs2.getString("author");
           addtime = rs2.getString("addtime");
           java.text.SimpleDateFormat  nowdate=new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
           java.util.Date date=nowdate.parse(addtime);
           String date2 = nowdate.format(date); 
           email = rs2.getString("email");
           
      
           out.print("<tr><td width=500 height=31 bgcolor=#eeeeee><a href=view.jsp?fileid=");
           out.print(fileid);
           out.print(" target=_blank>");
           out.print(title);
           out.print("</a></td><td width=130 height=31 bgcolor=#eeeeee><div align=center>");
              
       if ((!(email == null)) && (!(email.equals("")))) {
           out.print("<a href=mailto:");
           out.print(email);
           out.print(">");
           out.print(author);
           out.print("</a>");
          } 
      else
          { out.print(author);
          }      out.print("</div></td><td width=130 height=31 bgcolor=#eeeeee><div align=center>");
      out.print(date2);
      out.print("</div></td></tr><tr><td colspan=3>");
      //showChildRecordes(out,fileid);
      out.print("</td></tr>");
     
        outputRecordCount++;
  if(outputRecordCount>=pageSize)
  { break;
  }   
  }
  }
  else
  { out.println("<tr><td colspan=3>您已经在最后一页了</td></tr>");
  }          %>
    
      </table>
      </body>
      </html>
    谢谢大家!!!

解决方案 »

  1.   

    java.lang.NullPointerException  main.jsp第28行有空指针一场拒绝看jsp页面中的java代码 建议MVC之
      

  2.   

    楼上的都说了。是空指针异常嘛。
    空指针异常就是说 调用了一个为空的对象的方法或属性时引发的异常。
    一步一步测试吧。
    其实我也不太喜欢看JSP里面的代码。头疼。
    密密麻麻的、、
      

  3.   

    java.lang.NullPointerException  main.jsp第28行有空指针一场 看看你的28行有什么啊  
    一个变量一个变量看看 哪个为空