Servlet中的分页示例图解

要将大量记录分为多个部分, 我们使用分页。它只允许用户显示部分记录。在单个页面中加载所有记录可能需要一些时间, 因此始终建议创建分页。在servlet中, 我们可以轻松开发分页示例。
【Servlet中的分页示例图解】在这个servlet分页示例中, 我们使用MySQL数据库来获取记录。
在这里, 我们在” 测试” 数据库中创建了” emp” 表。 emp表具有三个字段:id, 名称和薪金。要么手动创建表并插入记录, 要么导入我们的sql文件。
index.html

< a href="http://www.srcmini.com/ViewServlet?page=1"> View Employees< /a>

ViewServlet.java
package com.srcmini.servlets; import java.io.IOException; import java.io.PrintWriter; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.srcmini.beans.Emp; import com.srcmini.dao.EmpDao; @WebServlet("/ViewServlet") public class ViewServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out=response.getWriter(); String spageid=request.getParameter("page"); int pageid=Integer.parseInt(spageid); int total=5; if(pageid==1){} else{ pageid=pageid-1; pageid=pageid*total+1; } List< Emp> list=EmpDao.getRecords(pageid, total); out.print("< h1> Page No: "+spageid+"< /h1> "); out.print("< table border='1' cellpadding='4' width='60%'> "); out.print("< tr> < th> Id< /th> < th> Name< /th> < th> Salary< /th> "); for(Emp e:list){ out.print("< tr> < td> "+e.getId()+"< /td> < td> "+e.getName()+"< /td> < td> "+e.getSalary()+"< /td> < /tr> "); } out.print("< /table> "); out.print("< a href='http://www.srcmini.com/ViewServlet?page=1'> 1< /a> "); out.print("< a href='http://www.srcmini.com/ViewServlet?page=2'> 2< /a> "); out.print("< a href='http://www.srcmini.com/ViewServlet?page=3'> 3< /a> "); out.close(); } }

Emp.java
package com.srcmini.beans; public class Emp { private int id; private String name; private float salary; //getters and setters }

EmpDao.java
package com.srcmini.dao; import com.srcmini.beans.*; import java.sql.*; import java.util.ArrayList; import java.util.List; public class EmpDao { public static Connection getConnection(){ Connection con=null; try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "", ""); }catch(Exception e){System.out.println(e); } return con; } public static List< Emp> getRecords(int start, int total){ List< Emp> list=new ArrayList< Emp> (); try{ Connection con=getConnection(); PreparedStatement ps=con.prepareStatement("select * from emp limit "+(start-1)+", "+total); ResultSet rs=ps.executeQuery(); while(rs.next()){ Emp e=new Emp(); e.setId(rs.getInt(1)); e.setName(rs.getString(2)); e.setSalary(rs.getFloat(3)); list.add(e); } con.close(); }catch(Exception e){System.out.println(e); } return list; } }

下载SQL文件 下载SQL文件
下载mysql-connector.jar文件 下载mysql-connector.jar
下载专案 下载此示例(在Eclipse中开发)
输出
Servlet中的分页示例图解

文章图片
Servlet中的分页示例图解

文章图片
Servlet中的分页示例图解

文章图片
Servlet中的分页示例图解

文章图片

    推荐阅读