import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class StudentDao {
public List<Student> stulist(Integer cpage, Integer pageSize) {
// TODO Auto-generated method stub
List<Student> stulist = new ArrayList();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql:///cms01","root","root");
PreparedStatement pst = con.prepareStatement("select * from student limit "+(cpage-1)*pageSize+","+pageSize);
ResultSet rs = pst.executeQuery();
while(rs.next()){
Student s = new Student(rs.getInt("id"),rs.getString("name"),rs.getString("sex"),rs.getInt("age"));
stulist.add(s);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return stulist;
}
public Integer count() {
// TODO Auto-generated method stub
Integer count = null;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql:///cms01","root","root");
PreparedStatement pst = con.prepareStatement("select count(*) from student");
ResultSet rs = pst.executeQuery();
if(rs.next()){
count = rs.getInt(1);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
}
import java.util.List;
public class StudentService {
private StudentDao dao = new StudentDao();
public List<Student> stulist(Integer cpage, Integer pageSize) {
// TODO Auto-generated method stub
return dao.stulist(cpage,pageSize);
}
public Integer count() {
// TODO Auto-generated method stub
return dao.count();
}
}
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class StudentServlet extends HttpServlet {
private StudentService service = new StudentService();
@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
String cpage = request.getParameter("cpage");
if(cpage == null){
cpage = "1";
}
Integer pageSize = 2;
Integer count = service.count();
Integer totalPage = count/pageSize + (count%pageSize==0?0:1);
List<Student> stulist = service.stulist(Integer.valueOf(cpage),pageSize);
request.setAttribute("stulist", stulist);
request.setAttribute("cpage", cpage);
request.setAttribute("totalPage", totalPage);
request.getRequestDispatcher("list.jsp").forward(request,response);
}
}
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
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 'list.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">
-->
<script type="text/javascript" src="js/jquery-1.8.2.js"></script>
<script type="text/javascript">
function gopage(cpage){
location="student?cpage="+cpage;
}
function jumpPage(){
var cpage = $("#p").val();
if(cpage>=1 && cpage <="${totalPage}"){
gopage(cpage);
}else{
alert("输入错误");
}
}
</script>
</head>
<body>
<table>
<tr>
<th>id</th>
<th>name</th>
<th>sex</th>
<th>age</th>
</tr>
<c:forEach var="s" items="${stulist}">
<tr>
<th>${s.id}</th>
<th>${s.name}</th>
<th>${s.sex}</th>
<th>${s.age==1?"新建":s.age==2?"未保存":"保存"}</th>
</tr>
</c:forEach>
<tr>
<th colspan="21">
<button onclick="gopage(1)">首页</button>
<button onclick="gopage(${cpage<=1?1:(cpage-1)})">上页</button>
<button onclick="gopage(${cpage>=totalPage?totalPage:cpage+1})">下页</button>
<button onclick="gopage(${totalPage})">末页</button>
<input type="text" id="p" value="${cpage}" style="width:30px;">
<button onclick="jumpPage()">跳</button>
</th>
</tr>
</table>
</body>
</html>
令群轻轻地说:“我同你,只有自己罢了,没有靠山,再不自爱,死路一条。”
——亦舒 《吃南瓜的人》