<% @ page contentType = " text/html;charset=8859_1 " %> <% // 变量声明 java.sql.Connection sqlCon; // 数据库连接对象 java.sql.Statement sqlStmt; // SQL语句对象 java.sql.ResultSet sqlRst; // 结果集对象 java.lang.String strCon; // 数据库连接字符串 java.lang.String strSQL; // SQL语句 int intPageSize; // 一页显示的记录数 int intRowCount; // 记录总数 int intPageCount; // 总页数 int intPage; // 待显示页码 java.lang.String strPage; int i; // 设置一页显示的记录数 intPageSize = 2 ; // 取得待显示页码 strPage = request.getParameter( " page " ); if (strPage == null ) ... {//表明在QueryString中没有page这一个参数,此时显示第一页数据intPage = 1;} else ... {//将字符串转换成整型intPage = java.lang.Integer.parseInt(strPage);if(intPage<1) intPage = 1;} // 装载JDBC驱动程序 java.sql.DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver()); // 设置数据库连接字符串 strCon = " jdbc:oracle:thin:@linux:1521:ora4cweb " ; // 连接数据库 sqlCon = java.sql.DriverManager.getConnection(strCon, " hzq " , " hzq " ); // 创建一个可以滚动的只读的SQL语句对象 sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); // 准备SQL语句 strSQL = " select name,age from test " ; // 执行SQL语句并获取结果集 sqlRst = sqlStmt.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 > JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle </ title > </ head > < body > < table border = " 1 " cellspacing = " 0 " cellpadding = " 0 " > < tr > < th > 姓名 </ th > < th > 年龄 </ th > </ tr > <% if (intPageCount > 0 ) ... {//将记录指针定位到待显示页的第一条记录上sqlRst.absolute((intPage-1) * intPageSize + 1);//显示数据i = 0;while(i<intPageSize && !sqlRst.isAfterLast())...{%><tr><td><%=sqlRst.getString(1)%></td><td><%=sqlRst.getString(2)%></td></tr><%sqlRst.next();i++;}} %> </ table > 第 <%= intPage %> 页 & nbsp; & nbsp;共 <%= intPageCount %> 页 & nbsp; & nbsp; <% if (intPage < intPageCount) ... {%><a href="jdbc20-oracle.jsp?page=<%=intPage+1%>">下一页</a><%} %>& nbsp; & nbsp; <% if (intPage > 1 ) ... {%><a href="jdbc20-oracle.jsp?page=<%=intPage-1%>">上一页</a><%} %> </ body > </ html > <% // 关闭结果集 sqlRst.close(); // 关闭SQL语句对象 sqlStmt.close(); // 关闭数据库 sqlCon.close(); %>