学习了一阵jsp了,今天刚刚和数据库联系起来,按书上所写的方法
进行连接数据库,并对内容实行分页处理。结果出问题了:
不进行分页还是可以显示出所有数据,但是进行分页后出现 tomcat异常:RecordSet 为空
是什么原因 ??
进行连接数据库,并对内容实行分页处理。结果出问题了:
不进行分页还是可以显示出所有数据,但是进行分页后出现 tomcat异常:RecordSet 为空
是什么原因 ??
解决方案 »
- java post时设置参数的问题求助
- 急求ssh2分页显示案例,全分相送
- Dto 收集struts1表单中的数据到ActionForm中的Map集合
- MyEclipse3.3 查看 jsp 标签的属性 快捷键 是什么?
- 如何将jsp生成的html文件,显示在网页中?
- tomcat5.5安装之后不能正常启动,日志里报stderr、stdout错误,请指教!
- 去一家公司大面试(深圳港航网络系统有限公司),深圳的朋友有知道的进来看看,在线等待,下午结帐
- JSP中使用查询语句的问题,大家帮忙!
- 大侠入啊!!如何进行对文本框的判断,在线等
- 请教java执行synchronized代码块时排队等待页面怎么做?
- JBuilder的问题,达人们帮帮忙啊
- [tomcat]以往配置了都可以访问,为什么现在不行?
谢谢各位的帮助!
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: null
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:367)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
root cause java.lang.NumberFormatException: null
java.lang.Integer.parseInt(Integer.java:394)
java.lang.Integer.parseInt(Integer.java:476)
org.apache.jsp.Work_005ftest.date_005f2_jsp._jspService(date_005f2_jsp.java:64)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:320)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:293)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
note The full stack trace of the root cause is available in the Tomcat logs.
int pagesize;
int pagecount;
int recordcount;
int intpage;
String strpage;
int i;
pagesize=10;
strpage=request.getParameter("page");
if (strpage==""){
intpage=1;
}else{
intpage=java.lang.Integer.parseInt(strpage);
if(intpage<1) intpage=1;
}
//开始加载JDBC数据库驱动
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String login="";
String passworder="";
String url="jdbc:odbc:test";
Connection conn=DriverManager.getConnection(url,login,passworder);
Statement stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
String query="select * from chengji";
ResultSet rs=stmt.executeQuery(query);
rs.last();
recordcount=rs.getRow();
pagecount=(recordcount+pagesize-1)/pagesize;
%>
<table><tr><td>学号</td><td>姓名</td><td>专业</td><td>成绩</td></tr>
<%
if (pagecount>0){
rs.absolute((intpage-1)*pagesize+1);
i=0;
while(i<pagesize && !rs.isAfterLast()){
%>
<tr>
<td height="30" width="100"><%=rs.getString(1)%></td>
<td height="30" width="100"><%=rs.getString(2)%></td>
<td height="30" width="100"><%=rs.getString(3)%></td>
<td height="30" width="100"><%=rs.getString(4)%></td>
</tr>
<%
rs.next();
i++;
}
}
%>
</table>
第 <%=intpage%> 页 共 <%=pagecount%> 页
<% if (intpage<pagecount){ %><a href="date_2.jsp?page=<%=intpage+1%>">下一页</a>
<% }%> <%if (intpage>1){ %><a href="date_2.jsp?page=<%=intpage-1%>">上一页</a>
<% }%>
</body>
</html>
<% rs.close();
stmt.close();
conn.close();
%>
出错行应该是
if (strpage==""){
intpage=1;
}else{
intpage=java.lang.Integer.parseInt(strpage); // 这里!
if(intpage<1) intpage=1;
}
原因是 strpage==null 你必须加上这一判断
如果只是纯粹用jsp(不使用bean)开发
建议用jstl
public boolean ismissing(String a)
{
return (a==null||a.equals(""));
}
///////////////////////////
if(ismissing(strpage))
{
intpage=1;
}else{
intpage=java.lang.Integer.parseInt(strpage); // 这里!
if(intpage<1) intpage=1;
}
[javac] Compiling 1 source fileC:\Tomcat 5\work\Catalina\localhost\_\org\apache\jsp\date_005f2_jsp.java:47: illegal start of expression
public boolean ismissing(String a)
^Generated servlet error:
C:\Tomcat 5\work\Catalina\localhost\_\org\apache\jsp\date_005f2_jsp.java:70: cannot resolve symbol
symbol : method ismissing (java.lang.String)
location: class org.apache.jsp.date_005f2_jsp
if(ismissing(strpage)){
^
2 error
xiongbing528(程序人生) 当我加进去了以后出现这个错误,我把我原来的哪个=="" 改为 null
结果就出来了谢谢你了!