JSP: <% Servlet: response.setContentType("text/html"); DAO: public int getAllCount(){ JDBC: public static ResultSet getResultSet(){
ResultSet rs=(ResultSet)request.getAttribute("rs");
int pageNum=(Integer)request.getAttribute("pageNumTo");
int allNum = (Integer)request.getAttribute("allNum");
int pagetNums=(Integer)request.getAttribute("pageNums");
%>
<h2 style="font-family: serif" align="center">分页总记录数:<%=allNum %></h2>
<table align="center" width="100%" style="border: 1px solid">
<thead align="center">
<tr>
<td>编号</td><td>姓名</td><td>年龄</td><td>爱好</td>
</tr>
</thead>
<tbody align="center">
<%
while(rs.next()){
%>
<tr>
<td><%=rs.getString(1) %></td><td><%=rs.getString(2) %></td>
<td><%=rs.getString(3) %></td><td><%=rs.getString(4) %></td>
</tr>
<%
}
%>
</tbody>
</table>
<h3 align="center">
<a href="<%=path %>/servlet/FenYeServlet?pageNum=1">
<s:if test="${pageNumTo != 1}">
[首页]
</s:if>
</a>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=pageNum==1?1:(pageNum-1) %>">
<s:if test="${pageNumTo != 1}">
[上一页]
</s:if>
</a>
<s:if test="${pageNumTo eq 1}">
<B><%=pageNum%> </B>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum+1) %>"><%=(pageNum+1)%></a>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum+2) %>"><%=(pageNum+2) %></a>……
</s:if>
<s:if test="${pageNumTo eq 2}">
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum-1) %>"><%=(pageNum-1) %> </a>
<B><%=pageNum%> </B>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum+1) %>"><%=(pageNum+1)%></a>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum+2) %>"><%=(pageNum+2) %></a>……
</s:if>
<s:if test="${pageNumTo != 1 && pageNumTo !=2 && pageNumTo <= pageNums }">
<s:if test="${pageNumTo > 3}">
…
</s:if>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum-2) %>"><%=(pageNum-2) %> </a>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum-1) %>"><%=(pageNum-1) %> </a>
<B><%=pageNum%> </B>
<s:if test="${pageNumTo < (pageNums-1)}">
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum+1) %>"><%=(pageNum+1)%></a>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum+2) %>"><%=(pageNum+2) %></a>
</s:if>
<s:if test="${pageNumTo == (pageNums-1)}">
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=(pageNum+1) %>"><%=(pageNum+1)%></a>
</s:if>
<s:if test="${pageNumTo < (pageNums-2)}">
…
</s:if>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=<%=pageNum==pagetNums?pagetNums:(pageNum+1) %>">
<s:if test="${pageNumTo != pageNums}">
[下一页]
</s:if>
</a>
</s:if>
<a href="<%=path %>/servlet/FenYeServlet?pageNum=${pageNums}">
<s:if test="${pageNumTo != pageNums}">
[最后一页]
</s:if>
</a>
第 <%=pageNum %> 页
</h3>
<div align="center">
<form action="<%=path %>/servlet/FenYeServlet" method="post">
<input type="text" name="pageNum"/>
<input type="submit" value="go"/>
</form>
${msg }
</div>
request.setCharacterEncoding("UTF-8");
TestDaoImple dao=new TestDaoImple();
int allNum=dao.getAllCount();
//总页数 pageNum:共分的分页 pageSize:每页3条记录
String pageNum=request.getParameter("pageNum");
ResultSet rs=null;
int pageNumTo=1;
int pageSize=5;
int flag=allNum%pageSize;
int num=allNum/pageSize;
int pageNums=(flag==0?(num):(num+1));
if(pageNum==null||pageNum==""){
pageNumTo=1;
rs = Utils.testFenYe(pageSize, 1);
request.setAttribute("msg", "对不起,您的输入页数!!!");
}else{
try{
pageNumTo=Integer.parseInt(pageNum);
if(pageNumTo>pageNums||pageNumTo<1){
request.setAttribute("msg", "对不起,您的输入范围超出,请您输入正确的数字!!!");
pageNumTo=1;
}
}catch(NumberFormatException e){
request.setAttribute("msg", "对不起,您的输入有误,请您输入正确的数字!!!");
}
rs= Utils.testFenYe(pageSize,pageNumTo);
}
request.setAttribute("pageNums", pageNums);
request.setAttribute("pageNumTo", pageNumTo);
request.setAttribute("rs", rs);
request.setAttribute("allNum", allNum);
request.getRequestDispatcher("/test.jsp").forward(request, response);
return Integer.parseInt(Utils.getAllCount());
}
public ResultSet getResultSet(){
return Utils.getResultSet();
}
String sql="select *from paginationdata";
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.Driver");
con=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
stmt = con.createStatement();
rs=stmt.executeQuery(sql);
return rs;
} catch (ClassNotFoundException e) {
System.out.println("没有找到相关的驱动!!!");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("SQL JDBC连接出错了……");
e.printStackTrace();
}
return null;
}
public static String getAllCount() {
String sql="select count(*) from paginationdata";
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
Statement stmt = con.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){
return rs.getString(1);
//System.out.println(rs.getString(1));
}
} catch (ClassNotFoundException e) {
System.out.println("没有找到相关的驱动!!!");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("SQL操作出错了……");
e.printStackTrace();
}
return null;
}
public static ResultSet testFenYe(int pageSize , int pageNum) {
//mysql里的分页查找
String sql="select * from paginationdata order by id limit "+pageSize*(pageNum-1)+","+pageSize;
//查出总记录数
//String sql1="select count(*) from paginationdata";
//从第三条几记录开始取三条记录 注意不算第二条记录
//String sql2="select * from paginationdata limit 2 , 3";
//String sql="select *from paginationdata";
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.Driver");
con=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
return rs;
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
JSP+MYSQL进行分页
最新推荐文章于 2022-08-13 10:41:27 发布