平时每次写分页的时,都要重新写一遍。。。感觉比较麻烦,但是这东西是一个模板,可以直接拿过来用。这里仅仅给自己记录一个模板。(部分代拿的别人的,原作者看到勿怪。原博客http://www.jb51.net/article/87274.htm)
JDBCUtils.class 用来连接数据库和关闭数据库,这里用的是mysql数据库
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class JDBCUtils {
private Connection conn = null;
private PreparedStatement pstmt = null;
/**
* connect 连接数据库
*
* @return
*/
public Connection connect() {
String user = "root";
String password = "root";
String driverClass = "com.mysql.jdbc.Driver";
String jdbcUrl = "jdbc:mysql://localhost:3306/jwfz";
try {
Class.forName(driverClass);
conn = DriverManager.getConnection(jdbcUrl, user, password);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* close 关闭数据库
*
* @param conn
* @param pstmt
* @param resu
*/
public void close(Connection conn, PreparedStatement pstmt, ResultSet result) {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (result != null) {
try {
result.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
UserDao.class 用来获取数据库中页面
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import test.dao.JDBCUtils;
import test.userdomain.User;
public class UserDao {
/**
* 计算总的页数
*
* @return
*/
public int getPage() {
int recordCount = 0, t1 = 0, t2 = 0;
PreparedStatement pstmt = null;
ResultSet result = null;
JDBCUtils jdbc = new JDBCUtils();
Connection conn = jdbc.connect();
String sql = "select count(*) from student";
try {
pstmt = conn.prepareStatement(sql);
result = pstmt.executeQuery();
result.next();
recordCount = result.getInt(1);
t1 = recordCount % 5;
t2 = recordCount / 5;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
jdbc.close(conn, pstmt, result);
}
if (t1 != 0) {
t2 = t2 + 1;
}
return t2;
}
/**
* 查询指定页的数据
*
* @param pageNo
* @return
*/
public List<User> listUser(int pageNo,String stuNum) {
PreparedStatement pstmt = null;
ResultSet result = null;
List<User> list = new ArrayList<User>();
int pageSize = 5;
int page = (pageNo - 1) * 5;
JDBCUtils jdbc = new JDBCUtils();
Connection conn = jdbc.connect();
StringBuilder sb=new StringBuilder("select * from student where 1=1 ");
if(stuNum!=null&&stuNum!=""){
sb.append(" and stuNum like '%"+stuNum+"%'");
}
sb.append(" limit ?,? ");
try {
pstmt = conn.prepareStatement(sb.toString());
pstmt.setInt(1, page);
pstmt.setInt(2, pageSize);
result = pstmt.executeQuery();
while (result.next()) {
User user = new User();
user.setStuNum(result.getString(1));
user.setStuPass(result.getString(2));
user.setStuName(result.getString(3));
user.setStuInstitute(result.getString(4));
user.setStuProfession(result.getString(5));
user.setStuClass(result.getString(6));
user.setStuPhoneNum(result.getString(7));
user.setShenhestatu(result.getString(8));
user.setcOLUME1(result.getString(9));
list.add(user);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
jdbc.close(conn, pstmt, result);
}
return list;
}
}
userdomian.class user的实体类
public class User {
public String stuNum;
public String stuPass;
public String stuName;
public String stuInstitute;
public String stuProfession;
public String stuClass;
public String stuPhoneNum;
public String shenhestatu;
public String cOLUME1;
public String getStuNum() {
return stuNum;
}
public String getStuPass() {
return stuPass;
}
public String getStuName() {
return stuName;
}
public String getStuInstitute() {
return stuInstitute;
}
public String getStuProfession() {
return stuProfession;
}
public String getStuClass() {
return stuClass;
}
public String getStuPhoneNum() {
return stuPhoneNum;
}
public String getShenhestatu() {
return shenhestatu;
}
public String getcOLUME1() {
return cOLUME1;
}
public void setStuNum(String stuNum) {
this.stuNum = stuNum;
}
public void setStuPass(String stuPass) {
this.stuPass = stuPass;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public void setStuInstitute(String stuInstitute) {
this.stuInstitute = stuInstitute;
}
public void setStuProfession(String stuProfession) {
this.stuProfession = stuProfession;
}
public void setStuClass(String stuClass) {
this.stuClass = stuClass;
}
public void setStuPhoneNum(String stuPhoneNum) {
this.stuPhoneNum = stuPhoneNum;
}
public void setShenhestatu(String shenhestatu) {
this.shenhestatu = shenhestatu;
}
public void setcOLUME1(String cOLUME1) {
this.cOLUME1 = cOLUME1;
}
}
ListUser.class ListUser Servlet
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import test.userdao.UserDao;
import test.userdomain.User;
public class ListUser extends HttpServlet {
public ListUser() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
int pageNo = 1;
String stuNum=request.getParameter("stuNum");
UserDao userdao = new UserDao();
List<User> lists = new ArrayList<User>();
String pageno = request.getParameter("pageNos");
if (pageno != null) {
pageNo = Integer.parseInt(pageno);
}
lists = userdao.listUser(pageNo,stuNum);
if(stuNum!=null&&stuNum!=""){
request.setAttribute("stuNum",stuNum);
}else{
stuNum="";
}
request.setAttribute("recordCount", userdao.getPage(stuNum));
request.setAttribute("listss", lists);
request.setAttribute("pageNos", pageNo);
request.getRequestDispatcher("test.jsp").forward(request, response);
}
public void init() throws ServletException {
// Put your code here
}
}
test.jsp**页面(js验证写的不全,以后用到再补充)**
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'userlist.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
th, td {
width: 150px;
border: 2px solid gray;
text-align: center;
}
body {
text-align: center;
}
a {
text-decoration: none;
}
table {
border-collapse: collapse;
}
</style>
</head>
<body>
<form action="ListUser" method="get">
<input type="text" name="stuNum"><button type="submit">提交</button>
</form>
<h2 align="center">个人信息</h2>
<table align="center">
<tr>
<td>学号</td>
<td>密码</td>
<td>姓名</td>
<td>院系</td>
<td>专业</td>
<td>班级</td>
<td>邮箱</td>
<td>电话</td>
<td>状态</td>
</tr>
</table>
<table align="center">
<c:forEach items="${listss}" var="person">
<tr>
<td class="hidden-480">${person.stuNum}</td>
<td class="hidden-480">${person.stuPass }</td>
<td class="hidden-480">${person.stuName }</td>
<td class="hidden-480">${person.stuInstitute}</td>
<td class="hidden-480">${person.stuProfession }</td>
<td class="hidden-480">${person.stuClass }</td>
<td class="hidden-480">${person.stuPhoneNum}</td>
<td class="hidden-480">${person.shenhestatu }</td>
<td class="hidden-480">${person.cOLUME1 }</td>
</tr>
</c:forEach>
</table>
<br>
<c:if test="${pageNos>1 }">
<a href="ListUser?pageNos=1&stuNum=${stuNum}">首页</a>
<a href="ListUser?pageNos=${pageNos-1 }&stuNum=${stuNum}">上一页</a>
</c:if>
<c:if test="${pageNos <recordCount }">
<a href="ListUser?pageNos=${pageNos+1 }&stuNum=${stuNum}">下一页</a>
<a href="ListUser?pageNos=${recordCount }&stuNum=${stuNum}">末页</a>
</c:if>
<form action="ListUser">
<h4 align="center">
共${recordCount}页 <input type="text" value="${pageNos}" name="pageNos"
size="1">页 <input type="submit" value="跳转">
</h4>
</form>
</body>
</html>