求助:我写的一个JSP分页的错误
我写了个JSP分页用来显示信息,却出现这个错误,请问是什么错误啊,源程序在最下面,请大家给我点指点吧 我很着急,先谢谢了
exception
org.apache.jasper.JasperException: Exception in JSP: /fenye1.jsp:17
14: }
15: </script>
16:
17: <%
18: //java.sql.Connection sqlCon; //数据库连接对象
19: //java.sql.Statement sqlStmt; //SQL语句对象
20: ResultSet sqlRst; //结果集对象
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.NullPointerException
org.apache.jsp.fenye1_jsp._jspService(fenye1_jsp.java:95)
org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
源程序:
<%@ page contentType= "text/html;charset=gb2312 " %>
<%@ page language= "java " import= "java.sql.* " %>
<jsp:useBean id= "sqlbean " scope= "page " class= "news.Sql_data "/>
<script language= "javascript ">
function newwin(url) {
var
newwin=window.open(url, "newwin ", "toolbar=no,location=no,directories=no,status=no,
menubar=no,scrollbars=yes,resizable=yes,width=600,height=450 ");
newwin.focus();
return false;
}
</script>
<%
ResultSet sqlRst; //结果集对象
String strSQL; //SQL语句
int intPageSize; //一页显示的记录数
int intRowCount; //记录总数
int intPageCount; //总页数
int intPage; //待显示页码
java.lang.String strPage;
int i;
//设置一页显示的记录数
intPageSize = 4;
//取得待显示页码
strPage = request.getParameter( "page ");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage <1) intPage = 1;
}
//装载JDBC驱动程序
strSQL = "select * from ClientInfo order by user_id desc ";
//执行SQL语句并获取结果集
sqlRst = sqlbean.executeQuery(strSQL);
//获取记录总数
sqlRst.last();//??光标在最后一行
intRowCount = sqlRst.getRow();//获得当前行号
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
//调整待显示的页码
if(intPage> intPageCount) intPage = intPageCount;
%>
<html>
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=gb2312 ">
<title> 会员管理 </title>
</head>
<body>
<form method= "POST " action= "fenye1.jsp ">
第 <%=intPage%> 页 共 <%=intPageCount%> 页
<%if(intPage <intPageCount){%> <a
href= "fenye1.jsp?page= <%=intPage+1%> "> 下一页
</a> <%}%> <%if(intPage> 1){%> <a href= "fenye1.jsp?page= <%=intPage-1%> ">
上一页 </a> <%}%>
转到第: <input type= "text " name= "page " size= "8 "> 页
<span> <input class=buttonface type=´submit´ value=´GO´ name=´cndok´> </span>
</form>
<table border= "1 " cellspacing= "0 " cellpadding= "0 ">
<tr>
<th> ID </th>
<th> 用户名 </th>
<th width=´8%´> 删除 </th>
</tr>
<%
if(intPageCount> 0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
String user_id,user_name;
while(i <intPageSize && !sqlRst.isAfterLast()){
user_id=sqlRst.getString(1);
user_name=sqlRst.getString(2);
%>
<tr>
<td> <%=user_id%> </td>
<td> <%=user_name%> </td>
<td width=´8%´ align=´center´> <a href= "delete.jsp?user_id= <%=user_id%> "
onClick= "return newwin(this.href); "> 删除 </a> </td>
</tr>
<%
sqlRst.next();
i++;
}
}
%>
</table>
</body>
</html>
<%
sqlRst.close();
%>
[解决办法]
请大家帮我解答下啊 谢谢了
[解决办法]
看这个org.apache.jasper.JasperException: Exception in JSP: /fenye1.jsp:17抱的是17行有错。
你源程序的17行是什么代码?
有没有其它不是英文的符号?
如果不是语法错误,建议你把17行删了,重新手工打一次。
[解决办法]
你这个错误是“空指针错误”,好好检查一下你哪个对象没有取到值,就是null的状态,这时候再调用这个对象的方法就会报错了,可能是在数据库取出结果时出现了空结果集现象。
[解决办法]
我找到的错误:
sqlbean的bean实例未定义
在 “ResultSet sqlRst; //结果集对象”行之前定义sqlbean:
sqlbean sqlb;
sqlb = new sqlbean();
将“sqlRst = sqlbean.executeQuery(strSQL);”改为:
sqlRst = sqlb.executeQuery(strSQL);
~~~~