<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>分页显示</title>
<% Connection con=null;
ResultSet rs=null;
Statement stmt=null;
String strSQL="";
int PageSize=5; // 每页显示的记录数
int PageAllCount=1;
int Page=1;
int RowCount=0;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException classnotfoundexception)
{
System.out.println(classnotfoundexception.getMessage());
}
try{
con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.21:1521:orcl","mianshi","mianshi");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
strSQL="select * from personnel";
rs=stmt.executeQuery(strSQL);
if(rs.next()){
rs.last();
RowCount=rs.getRow();
System.out.println(RowCount);
}
if(RowCount%PageSize==0)
PageAllCount=RowCount/PageSize;
else
PageAllCount=(RowCount+PageSize-1)/PageSize;
if(PageAllCount==0) PageAllCount=1;
if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
Page=1;
else
try{
Page=Integer.parseInt(request.getParameter("Page"));
}
catch(java.lang.NumberFormatException e){
Page=1;
}
if(Page<1) Page=1;
if(Page>PageAllCount) Page=PageAllCount;
rs.absolute((Page-1)*PageSize+1);
out.print("<TABLE BORDER='1'>");
for(int iPage=1;iPage<=PageSize;iPage++){
out.println("<TR>");
out.println("<TD>"+rs.getString("name")+"</TD>");
out.println("<td>"+rs.getString("sex")+"</td>");
out.println("<td>"+rs.getInt("age")+"</td>");
out.println("</TR>");
if(!rs.next()) break;
}
out.print("</TABLE>");
}
catch(SQLException e1){e1.printStackTrace();}
finally{
stmt.close();
con.close();
}
%>
</head>
<body>
<FORM action="2.jsp" method="get">
<BR>输入页数:<input TYPE="TEXT" name="Page" size="3">
页数:<font color="black"><%=Page%>/<%=PageAllCount%></font>
</FORM>
第<%=Page%>页 共<%=PageAllCount%>页
<br>
<a href="2.jsp?Page=1">首页</a>
<%if(Page<PageAllCount){%><a href="2.jsp?Page=<%=Page+1%>">下一页</a><%}%>
<%if(Page>1){%><a href="1.jsp?Page=<%=Page-1%>">上一页</a><%}%>
<a href="2.jsp?Page=<%=PageAllCount%>">尾页</a>
</br>
</body>
</html>
2.jsp代码
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>分页显示</title>
<% Connection con=null;
ResultSet rs=null;
Statement stmt=null;
String strSQL="";
int PageSize=5; // 每页显示的记录数
int PageAllCount=1;
int Page=1;
int RowCount=0;
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundException classnotfoundexception)
{
System.out.println(classnotfoundexception.getMessage());
}
try{
con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.21:1521:orcl","mianshi","mianshi");
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
strSQL="select * from personnel";
rs=stmt.executeQuery(strSQL);
if(rs.next()){
rs.last();
RowCount=rs.getRow();
System.out.println(RowCount);
}
if(RowCount%PageSize==0)
PageAllCount=RowCount/PageSize;
else
PageAllCount=(RowCount+PageSize-1)/PageSize;
if(PageAllCount==0) PageAllCount=1;
if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
Page=1;
else
try{
Page=Integer.parseInt(request.getParameter("Page"));
}
catch(java.lang.NumberFormatException e){
Page=1;
}
if(Page<1) Page=1;
if(Page>PageAllCount) Page=PageAllCount;
rs.absolute((Page-1)*PageSize+1);
out.print("<TABLE BORDER='1'>");
for(int iPage=1;iPage<=PageSize;iPage++){
out.println("<TR>");
out.println("<TD>"+rs.getString("name")+"</TD>");
out.println("<td>"+rs.getString("sex")+"</td>");
out.println("<td>"+rs.getInt("age")+"</td>");
out.println("</TR>");
if(!rs.next()) break;
}
out.print("</TABLE>");
}
catch(SQLException e1){e1.printStackTrace();}
finally{
stmt.close();
con.close();
}
%>
</head>
<body>
<FORM action="2.jsp" method="get">
<BR>输入页数:<input TYPE="TEXT" name="Page" size="3">
页数:<font color="black"><%=Page%>/<%=PageAllCount%></font>
</FORM>
第<%=Page%>页 共<%=PageAllCount%>页
<br>
<a href="2.jsp?Page=1">首页</a>
<%if(Page<PageAllCount){%><a href="2.jsp?Page=<%=Page+1%>">下一页</a><%}%>
<%if(Page>1){%><a href="1.jsp?Page=<%=Page-1%>">上一页</a><%}%>
<a href="2.jsp?Page=<%=PageAllCount%>">尾页</a>
</br>
</body>
</html>
建表语句:
CREATE TABLE "MIANSHI"."PERSONNEL"
( "NAME" VARCHAR2(10 BYTE) NOT NULL ENABLE,
"SEX" VARCHAR2(10 BYTE),
"AGE" NUMBER,
"BIRTHDAY" DATE,
CONSTRAINT "PERSONNEL_PK" PRIMARY KEY ("NAME")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" ;