1.jsp页面:

  1. <%  
  2. int currentPage = Integer.parseInt(request.getAttribute("currentPage").toString());  
  3. int totalPage = Integer.parseInt(request.getAttribute("totalPage").toString());  
  4. %> 
  5. <div align="center"> 
  6.      <a href="Query.servlet?currentPage=1"> 
  7.         <font color='#0000ff'>首页</font> 
  8.      </a>   
  9.      <a href="Query.servlet?currentPage=<%=(currentPage-1)%>"> 
  10.         <font color='#0000ff'>上一页</font> 
  11.      </a>   
  12.      <a href="Query.servlet?currentPage=<%=(currentPage+1)%>"> 
  13.         <font color='#0000ff'>下一页</font> 
  14.      </a>   
  15.      <a href="Query.servlet?currentPage=<%=totalPage%>"> 
  16.         <font color='#0000ff'>尾页</font> 
  17.      </a> 
  18. </div> 

2.web.xml配置:

  1. <servlet> 
  2.     <servlet-name>Query</servlet-name> 
  3.     <servlet-class>com.servlet.QueryServlet</servlet-class> 
  4. </servlet> 
  5. <servlet-mapping> 
  6.     <servlet-name>Query</servlet-name> 
  7.     <url-pattern>/Query.servlet</url-pattern> 
  8. </servlet-mapping> 

3.QueryServlet类:

  1. package com.servlet;  
  2.  
  3. import java.io.IOException;  
  4. import java.util.ArrayList;  
  5. import java.util.List;  
  6.  
  7. import javax.servlet.ServletException;  
  8. import javax.servlet.http.HttpServlet;  
  9. import javax.servlet.http.HttpServletRequest;  
  10. import javax.servlet.http.HttpServletResponse;  
  11.  
  12. import com.bean.CourseInfo;  
  13. import com.service.CourseService;  
  14.  
  15. public class QueryServlet extends HttpServlet  
  16. {  
  17.  
  18.     /**  
  19.      * {序列号}  
  20.      */ 
  21.     private static final long serialVersionUID = -6413058086073194500L;  
  22.     /**  
  23.      *   
  24.      * {查询所有课程}  
  25.      *   
  26.      * @param request  
  27.      * @param response  
  28.      * @throws ServletException  
  29.      * @throws IOException  
  30.      * @author:LJ 
  31.      */ 
  32.     @Override 
  33.     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,  
  34.             IOException  
  35.     {  
  36.         CourseService courseService = new CourseService();
  37. //查询总记录数  
  38.         int totalRows = courseService.queryCount();      
  39.         CourseInfo courseInfo = new CourseInfo();  
  40.         courseInfo.setTotalRows(totalRows);
  41. //获取页面当前页  
  42.         String currentPage = request.getParameter("currentPage");      
  43.         if(currentPage != null)  
  44.         {  
  45.             courseInfo.setCurrentPage(Integer.parseInt(currentPage));  
  46.         }  
  47.         int page = courseInfo.getCurrentPage();  
  48.         int pageSize = courseInfo.getPageSize();  
  49.         List<CourseInfo> courseList = new ArrayList<CourseInfo>();  
  50.         courseList = courseService.queryAll(page,pageSize);  
  51.         request.setAttribute("currentPage", page);  
  52.         request.setAttribute("totalPage", courseInfo.getTotalPage());  
  53.         request.setAttribute("courseList", courseList);  
  54.         request.getRequestDispatcher("main.jsp").forward(request, response);  
  55.     }  

4.分页bean:PageInfo.java

  1. package com.bean;  
  2.  
  3. public class PageInfo  
  4. {  
  5.     private int currentPage = 1;//当前页  
  6.     private int totalPage ;     //总页数  
  7.     private int pageSize = 2;   //每页显示记录数  
  8.     private int totalRows ;     //总记录数  
  9.     /**  
  10.      *   
  11.      * {当前页set方法}  
  12.      *   
  13.      * @param currentPage  
  14.      * @author:LJ  
  15.      */ 
  16.     public void setCurrentPage(int currentPage)  
  17.     {  
  18.         if(currentPage >= this.totalPage)  
  19.         {  
  20.             this.currentPage = this.totalPage;  
  21.         }  
  22.         else if(currentPage <= 1)  
  23.         {  
  24.             this.currentPage = 1;  
  25.         }  
  26.         else 
  27.         {  
  28.             this.currentPage = currentPage;  
  29.         }  
  30.     }  
  31.     /**  
  32.      *   
  33.      * {当前页get方法}  
  34.      *   
  35.      * @return  
  36.      * @author:LJ  
  37.      */ 
  38.     public int getCurrentPage()  
  39.     {  
  40.         return currentPage;  
  41.     }  
  42.     /**  
  43.      *   
  44.      * {总页数set方法}  
  45.      *   
  46.      * @param totalPage  
  47.      * @author:LJ  
  48.      */ 
  49.     public void setTotalPage()  
  50.     {  
  51.         this.totalPage = (totalRows%pageSize==0)?(totalRows/pageSize):(totalRows/pageSize+1);  
  52.         //this.totalPage = (totalRows + pageSize - 1)/pageSize;  
  53.         //this.totalPage = (totalRows - 1)/pageSize + 1;  
  54.     }  
  55.     /**  
  56.      *   
  57.      * {总页数get方法}  
  58.      *   
  59.      * @return  
  60.      * @author:LJ  
  61.      */ 
  62.     public int getTotalPage()  
  63.     {  
  64.         return totalPage;  
  65.     }  
  66.     /**  
  67.      *   
  68.      * {每页显示记录数set方法}  
  69.      *   
  70.      * @param pageSize  
  71.      * @author:LJ  
  72.      */ 
  73.     public void setPageSize(int pageSize)  
  74.     {  
  75.         this.pageSize = pageSize;  
  76.     }  
  77.     /**  
  78.      *   
  79.      * {每页显示记录数get方法}  
  80.      *   
  81.      * @return  
  82.      * @author:LJ  
  83.      */ 
  84.     public int getPageSize()  
  85.     {  
  86.         return pageSize;  
  87.     }  
  88.     /**  
  89.      *   
  90.      * {总记录数set方法}  
  91.      *   
  92.      * @param totalRows  
  93.      * @author:LJ  
  94.      */ 
  95.     public void setTotalRows(int totalRows)  
  96.     {  
  97.         this.totalRows = totalRows;  
  98.         this.setTotalPage();  
  99.     }  
  100.     /**  
  101.      *   
  102.      * {总记录数get方法}  
  103.      *   
  104.      * @return  
  105.      * @author:LJ  
  106.      */ 
  107.     public int getTotalRows()  
  108.     {  
  109.         return totalRows;  
  110.     }