📄 showlist.jsp
字号:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import="java.sql.*" %>
<%@ page import="tom.jiafei.PageNumber" %>
<%@ page import="java.io.*" %>
<jsp:useBean id="handlePage" class="tom.jiafei.PageNumber" scope="session" >
</jsp:useBean>
<HTML>
<BODY bgcolor=cyan><Size=3>
<%! //声明一个共享的连接对象:
Connection con=null;
//显示数据库记录的方法:
public void showList(ResultSet rs,javax.servlet.jsp.JspWriter out, int n)
{
try
{
out.print("<Table Border>");
out.print("<TR>");
out.print("<TH width=100>"+"学号");
out.print("<TH width=100>"+"姓名");
out.print("<TH width=50>"+"数学成绩");
out.print("<TH width=50>"+"英语成绩");
out.print("<TH width=50>"+"物理成绩");
out.print("</TR>");
for(int i=1;i<=n;i++)
{
out.print("<TR>");
String number=rs.getString(1);
out.print("<TD >"+number+"</TD>");
String name=rs.getString(2);
out.print("<TD >"+name+"</TD>");
int math=rs.getInt("数学成绩");
out.print("<TD >"+math+"</TD>");
int english=rs.getInt("英语成绩");
out.print("<TD >"+english+"</TD>");
int physics=rs.getInt("物理成绩");
out.print("<TD >"+physics+"</TD>");
out.print("</TR>") ;
rs.next();
}
out.print("</Table>");
}
catch(Exception e1) {}
}
%>
<% Statement sql=null;
ResultSet rs=null;
int rowCount=0; //总的记录数。
//第一个客户负责建立连接对象:
if(con==null)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e)
{ out.print(e);
}
try
{
con=DriverManager.getConnection("jdbc:odbc:sun","sa","");
sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//返回可滚动的结果集:
rs=sql.executeQuery("SELECT * FROM students");
//将游标移动到最后一行:
rs.last();
//获取最后一行的行号:
int number=rs.getRow();
//获取记录数:
rowCount=number;
//设置每页显示的记录数:
handlePage.setPageSize(2);
//计算总页数:
handlePage.setPageCount(rowCount,handlePage.getPageSize());
out.print("共有"+handlePage.getPageCount()+"页,");
out.print("每页显示"+handlePage.getPageSize()+"条记录");
}
catch(SQLException e)
{out.print(e);
}
}
//其它客户通过同步块使用这个连接:
else
{
synchronized(con)
{
try {
sql=
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
//返回可滚动的结果集:
rs=sql.executeQuery("SELECT * FROM students");
//将游标移动到最后一行:
rs.last();
//获取最后一行的行号:
int number=rs.getRow();
//获取记录数:
rowCount=number;
//设置每页显示的记录数:
handlePage.setPageSize(2);
//计算总页数:
handlePage.setPageCount(rowCount,handlePage.getPageSize());
out.print("共有"+handlePage.getPageCount()+"页,");
out.print("每页显示"+handlePage.getPageSize()+"条记录");
}
catch(SQLException e)
{out.print(e);
}
}
}
%>
<%--选择显示某页的表单 --%>
<% String str=response.encodeRedirectURL("showList.jsp");
%>
<Form action="<%=str%>" method="post" >
显示下一页:<Input Type="hidden" name="a" value="next">
<Input type=submit value="next">
</FORM>
<Form action="<%=str%>" method="post" >
显示上一页:<Input Type="hidden" name="a" value="previous">
<Input type="submit" value="previous">
</FORM>
<Form action="<%=str%>" method="post" >
输入欲要显示的页<Input type="text" name="a" value="1">
<Input type="submit" value="submit">
</FORM>
<% //获取表单提交的信息:
String s=request.getParameter("a");
if(s==null)
{s="1";
}
if(s.equals("next"))
{
int n=handlePage.getShowPage(); //获取目前的页数。
n=(n+1); //将页数增1。
if(n>handlePage.getPageCount())
{ n=1;
}
handlePage.setShowPage(n); //显示该页
out.print("目前显示第"+handlePage.getShowPage()+"页");
//将游标移到:
rs.absolute((n-1)*handlePage.getPageSize()+1);
//显示第该页的内容:
showList(rs,out,handlePage.getPageSize());
}
else if(s.equals("previous"))
{
int n=handlePage.getShowPage(); //获取目前的页数。
n=(n-1); //将页数减1。
if(n<=0)
{
n=handlePage.getPageCount();
}
handlePage.setShowPage(n); //显示该页
out.print("目前显示第"+handlePage.getShowPage()+"页");
//将游标移到:
rs.absolute((n-1)*handlePage.getPageSize()+1);
//显示第该页的内容:
showList(rs,out,handlePage.getPageSize());
}
else
{
int m=Integer.parseInt(s);
handlePage.setShowPage(m);
out.print("目前显示第"+handlePage.getShowPage()+"页");
int n=handlePage.getShowPage();
//将游标移到 (n-1)*handlePage.getPageSize()+1;
rs.absolute((n-1)*handlePage.getPageSize()+1);
//显示该页的内容:
showList(rs,out,handlePage.getPageSize());
}
%>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -