数据库连接是这样写的:
synchronized(con){
try{
sql=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,   ResultSet.CONCUR_READ_ONLY);
rs=sql.executeQuery("SELECT * FROM mytable");
rs.last();
lastrow=rs.getRow();
pagecount=(lastrow%pagesize==0)?(lastrow/pagesize):(lastrow/pagesize)+1;
showpage=1;
}catch(SQLException e){
}
}
我跟了一下:程序是在这边出错的
int posion=(showpage-1)*pagesize+1;
posion = 1;
rs.absolute(posion);   //?????下面是异常:
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.NullPointerException
org.apache.jsp.Example5_005f2_jsp._jspService(Example5_005f2_jsp.java:155)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

解决方案 »

  1.   

    java.lang.NullPointerException那个地方 是不是 为null了,并且忘了 new了啊。
      

  2.   

    description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Exception in JSP: /Example5_2.jsp:105102:  out.print("</TR>");
    103:  int posion=(showpage-1)*pagesize+1;
    104:  posion = 1;
    105:  rs.absolute(posion);
    106:  //for(int ii=0;ii<pagesize;ii++)
    107:  //{
    108:  // out.print("<TR>");我封掉了显示部分,现在提示是absolute这个有问题,我都是硬赋值的
      

  3.   

    数据集(rs)为空嘛, rs实例用完后就会回收掉的
      

  4.   

    rs.absolute(posion);操作最好在try{}中进行,不然rs为空
      

  5.   

    java.lang.NullPointerException  空指针异常 debug运行吧  找找到底是那个值为Null了
      

  6.   

    空指针异常,可能你的rs已经被回收了吧,最好是分页的时候重新查数据库,或者存rs为session
      

  7.   

    我看了网上的帖子:
    resultset是依赖于connection和statement的,如果这两个中有一个关闭了,rs就无效了,如果放在session中,就意味着数据库连接不能关闭,这肯定是不行的.session中的数据会常驻系统内存,用户越多,系统开销越大。