1.首先创建一个对象 UserData,用以保存从数据库中获取的数据。
package com.tool; import java.math.BigDecimal; import java.util.Date; /** * Created by lx_sunwei on 14-1-6. */ public class UserData { /** * EMP表中的数据属性 */ private String ename; private String job; private BigDecimal empno; private BigDecimal mgr; private Date hireDate; private BigDecimal sal; private BigDecimal comm; private BigDecimal deptno; public BigDecimal getEmpno() { return empno; } public void setEmpno(BigDecimal empno) { this.empno = empno; } public BigDecimal getMgr() { return mgr; } public void setMgr(BigDecimal mgr) { this.mgr = mgr; } public Date getHireDate() { return hireDate; } public void setHireDate(Date hireDate) { this.hireDate = hireDate; } public BigDecimal getSal() { return sal; } public void setSal(BigDecimal sal) { this.sal = sal; } public BigDecimal getComm() { return comm; } public void setComm(BigDecimal comm) { this.comm = comm; } public BigDecimal getDeptno() { return deptno; } public void setDeptno(BigDecimal deptno) { this.deptno = deptno; } public String getEname() { return ename; } public void setEname(String ename) { this.ename = ename; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } }
2.创建一个 DBHelper 对象用以与数据库进行交互
package com.dao; import com.tool.UserData; import java.math.BigDecimal; import java.sql.*; import java.util.*; import java.util.Date; /** * Created by lx_sunwei on 14-1-6. */ public class DBHelper { Connection conn; //数据库连接对象 PreparedStatement pt; //SQL语句预处理对象 ResultSet rs; //结果集对象 public DBHelper(){ try { Class.forName("oracle.jdbc.driver.OracleDriver"); //装载驱动 } catch (ClassNotFoundException e) { e.printStackTrace(); } } /** * 获取当前页的数据 * @param curPage * @param rowsPerPage * @return */ public ListgetData(int curPage, int rowsPerPage) { List dataList = new ArrayList(); String url = "jdbc:oracle:thin:@localhost:1521:orcl"; try { conn = DriverManager.getConnection(url,"scott","tiger"); String sql = "select * from emp where rownum
3.创建 Servlet 对显示页面进行控制
package com.servlet; import com.dao.DBHelper; import com.tool.UserData; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; /** * Created by lx_sunwei on 14-1-6. */ public class Servlet extends HttpServlet { public int rowsPerPage; //每页显示的行数 public int curPage; //当前页页码 public int maxPage; //总共页数 DBHelper db = new DBHelper(); public Servlet(){ rowsPerPage = 5; } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String curPage1 = request.getParameter("page"); //获取当前页页码 if (curPage1 == null){ curPage = 1; request.setAttribute("curPage",curPage); //设置curPage对象 }else { curPage = Integer.parseInt(curPage1); if (curPage dataList; dataList = db.getData(curPage,rowsPerPage); //获取当前页的数据 maxPage = db.getMaxPage(rowsPerPage); //获取总页数 request.setAttribute("dataList",dataList); request.setAttribute("maxPage", maxPage); RequestDispatcher rd = request.getRequestDispatcher("pagemain.jsp"); //将请求转发到pagemain.jsp页面 rd.forward(request,response); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } }
4.创建 JSP 页面,显示数据。
servlet数据分页
SCOTT用户,EMP表中的数据 没有数据 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
web.xml 中的配置文件为:
Servlet com.servlet.Servlet Servlet /Servlet
把项目部署到 Tomcat 服务器上,输入地址:http://localhost:8080/Servlet 这样就可以看到效果