一、整个JSP页面分成如下几个部分:
1 实现与MySQL数据库的连接;
2 实现数据的查询;
3 JSP页面的具体显示;
二、运行的结果如下:(说明:数据库MySQL、数据源:login、数据表:student)
三、代码实现如下:
<%@ page language="java" import="java.sql.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP连接SQL数据库实现数据分页显示</title> </head> <body> <h1 align="center">JSP连接SQL数据库实现数据分页显示</h1> <% try {//建立JDBC-ODBC桥驱动程序,用到java.lang包中的类Class,调用其方法forName(). Class.forName("com.mysql.jdbc.Driver"); } catch(ClassNotFoundException e){} try {//创建连接对象con,它属于Connection类,然后用类DriverManager调用getConnection(). String url="jdbc:mysql://localhost/login?characterEncoding=utf-8"; Connection con=DriverManager.getConnection(url,"root",""); //根据自己的用户名和密码进行更改 Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);//创建SQL语句对象. ResultSet rs=stmt.executeQuery("SELECT* FROM student");//执行SQL语句并返回结果. int pageSize;//一页显示的记录数 int totalItem;//记录总数 int totalPage;//总页数 int curPage;//待显示页码 String strPage; int i; pageSize=10;//设置一页显示的记录数 strPage=request.getParameter("page");//获得待显示页码 if(strPage==null) { curPage=1; } else { curPage=java.lang.Integer.parseInt(strPage);//将字符串转换成整形 } if(curPage<1) { curPage=1; } rs.last();//获取记录总数 totalItem=rs.getRow(); totalPage=(totalItem+pageSize-1)/pageSize; if(curPage>totalPage) curPage=totalPage;//调整待显示的页码 if(totalPage>0) {//将记录指针到待显示页的第一条记录上 rs.absolute((curPage-1)*pageSize+1); } i=0; %> <table border="1" align="center" bgcolor="#cccccc"><!--设置用以表格显示.--> <tr> <th width="50">学号</th> <th width="50">姓名</th> </tr> <%//显示数据 while(i<pageSize && !rs.isAfterLast()) { %> <tr> <td><%=rs.getString(1)%></td> <td><%=rs.getString(2)%></td> </tr> <% rs.next(); i++; } rs.close(); stmt.close(); con.close(); %> </table><p align="center"> 共<%=totalItem%>个记录,分<%=totalPage%>页显示,当前页是:第<%=curPage%>页<br /> <%if(curPage>1){%><a href="page.jsp?page=1">首页</a><%}%> <%if(curPage>1){%><a href="page.jsp?page=<%=curPage-1%>">上一页</a><%}%> <% for(int j=1;j<=totalPage;j++) { out.print(" <a href='page.jsp?page="+j+"'>"+j+"</a>"); } %> <%if(curPage<totalPage){%><a href="page.jsp?page=<%=curPage+1%>">下一页</a><%}%> <%if(totalPage>1){%><a href="page.jsp?page=<%=totalPage%>">末页</a><%}%> <% } catch(SQLException e1){out.println(e1);} %> </body> </html>四、在运行时,可能会报错
java.io.IOException: tmpFile.renameTo(classFile) failed
五 具体解决方案参考如下页面:
http://www.360doc.com/content/16/0904/22/31406094_588431702.shtml
(我的是刷新页面后成功的)