错误如下:
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>
<a href="main.jsp?pageNumber=<%=up%>">前一页</a>
<a href="main.jsp?pageNumber=<%=down%>">后一页</a>
<a href="main.jsp?pageNumber=<%=last %>">最后一页</a>
</td>
<td width="130">
页次:<%=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>
谢谢大家!!!
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>
<a href="main.jsp?pageNumber=<%=up%>">前一页</a>
<a href="main.jsp?pageNumber=<%=down%>">后一页</a>
<a href="main.jsp?pageNumber=<%=last %>">最后一页</a>
</td>
<td width="130">
页次:<%=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>
谢谢大家!!!
空指针异常就是说 调用了一个为空的对象的方法或属性时引发的异常。
一步一步测试吧。
其实我也不太喜欢看JSP里面的代码。头疼。
密密麻麻的、、
一个变量一个变量看看 哪个为空