<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W 3C //DTD HTML 4.01 Transitional//EN">
<html>
<body>
<form action="a.jsp" method="post">
姓名: <input name="name">
学号: <input name="sid">
<input type="submit" value="submit">
</form>
</body>
</html>
==========================================================
a. jsp
<%@ page contentType="text/html;charset=utf-8" %>
<%@ page language="java" import="java.sql.*" %>
<%//变量声明
String sname=request.getParameter("name");
String ssid=request.getParameter("sid");
String sql="select name,sid from z where 1=1 ";
if(sname!=null&&!"".equals(sname)){
sql=sql+"and name='"+sname+"'";
out.print(sname);
}
if(ssid!=null&&!"".equals(ssid)){
sql=sql+"and sid='"+ssid+"'";
out.print(ssid);
}
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 = 4;
//取得待显示页码
strPage = request.getParameter("page");
if(strPage==null){//表明在QueryString中没有page这一个参数,此时显示第一页数据
intPage = 1;
}
else{//将字符串转换成整型
intPage = java.lang.Integer.parseInt(strPage);
if(intPage<1) intPage = 1;
}
//装载JDBC驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
//设置数据库连接字符串
strCon = "jdbc:oracle:thin:@192.168.1.240:1521:oracle";
//连接数据库
sqlCon = java.sql.DriverManager.getConnection(strCon,"scott","tiger");
//创建一个可以滚动的只读的SQL语句对象
sqlStmt =
sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);//准备SQL语句
//strSQL = "select name,sid from Z ";
//执行SQL语句并获取结果集
sqlRst = sqlStmt.executeQuery(sql);
//获取记录总数
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>会员管理</title>
</head>
<body>
<form method="POST" action="a.jsp">
第<%=intPage%>页 共<%=intPageCount%>页
<%if(intPage<intPageCount){%><a
href="a.jsp?page=<%=intPage+1%>">下一页
</a><%}%> <%if(intPage>1){%><a href="a.jsp?page=<%=intPage-1%>">
上一页</a><%}%>
转到第: <input type="text" name="page" size="8"> 页
<span><input class=buttonface type="submit" value="go" name=¡äcndok¡ä></span>
</form>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th>ID</th>
<th>用户名</th>
</tr>
<%
if(intPageCount>0){
//将记录指针定位到待显示页的第一条记录上
sqlRst.absolute((intPage-1) * intPageSize + 1);
//显示数据
i = 0;
String user_id,user_name;
while(i<intPageSize && !sqlRst.isAfterLast()){
user_id=sqlRst.getString(1);
user_name=sqlRst.getString(2);
%>
<tr>
<td><%=user_id%></td>
<td><%=user_name%></td>
<%
sqlRst.next();
i++;
}
}
%>
</table>
</body>
</html>
<%
//关闭结果集
sqlRst.close();
//关闭SQL语句对象
sqlStmt.close();
//关闭数据库
sqlCon.close();
%>