很好的jsp+servlet+javaBean实现数据分页代码例子

转载 2015年11月19日 14:52:02

自己参考别人并动手写的一个jsp+servlet+javaBean实现数据分页代码例子,省去了数据库连接部分,给出核心代码。

1.首先创建实现分页功能的javabean

public class PageBean {

    private int curPage = 1; //当前是第几页
    private int maxPage; //一共有多少页
    private int maxRowCount; //一共有多少行
    public int rowsPerPage = 5; //每页多少行

    Connection conn;
    public ArrayList data;

    public PageBean() throws Exception {
        this.setPageBean();
    }
    public int getCurPage() {
        return curPage;
    }
    public int getMaxPage() {
        return maxPage;
    }
    public int getMaxRowCount() {
        return maxRowCount;
    }
    public int getRowsPerPage() {
        return rowsPerPage;
    }
    public void setCurPage(int curPage) {
        this.curPage = curPage;
    }
    public void setMaxPage(int maxPage) {
        this.maxPage = maxPage;
    }
    public void setMaxRowCount(int maxRowCount) {
        this.maxRowCount = maxRowCount;
    }
    public void setRowsPerPage(int rowsPerPage) {
        this.rowsPerPage = rowsPerPage;
    }
    //得到要显示于本页的数据
    public PageBean getResult(String page) throws Exception {
        try {
            PageBean pageBean = new PageBean();
            ArrayList list = new ArrayList();
            System.out.println("page=="+page);
            int pageNum = Integer.parseInt(page);
            System.out.println("pageNum=="+pageNum);
            conn=DBUtil.getConnetion(); 
            Statement stmt = conn.createStatement();
            String strSql = "select * from receivemail limit "+pageNum * pageBean.rowsPerPage;//改成你的表
            System.out.println("pageNum * pageBean.rowsPerPage=="+pageNum * pageBean.rowsPerPage);
            ResultSet rset = stmt.executeQuery(strSql);
            boolean flag = rset.absolute((curPage-1)*pageBean.rowsPerPage+1); //把结果集指针调整到当前页应该显示的记录的开始.
            int i = 0;
            while (rset.next()) {
                    //这里要和表的字段对应起来!!!!
                    ReceiveMail mail=new ReceiveMail();
                    mail.setReceiveid(rset.getInt("receivid"));
                    mail.setRecontent(rset.getString("scontent"));
                    mail.setUid(rset.getInt("uid"));
                    mail.setState(rset.getInt("state"));
                    mail.setStime(rset.getString("stime"));
                    mail.setSubject(rset.getString("subject"));
                    mail.setRecontent(rset.getString("recontent"));
                    mail.setRetime(rset.getString("retime"));
                    list.add(mail);
                i++;
            }
            System.out.println("i=="+i);
            DBUtil.CloseAll();
            pageBean.setCurPage(pageNum);
            pageBean.data = list;
            return pageBean;
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("PageBean显示本页数据逻辑erro");
            throw e;

        }
    }
    //获取总行数
    public int getAvailableCount() throws Exception {
        int ret = 0;
        conn=DBUtil.getConnetion();
        Statement stmt = conn.createStatement();
        String strSql = "select * from receivemail";//改成你的表
        ResultSet rset = stmt.executeQuery(strSql);
        while (rset.next()) {
            ret++;
        }
        return ret;
    }
    //初始化时对PageBean进行设置
    public void setPageBean() throws Exception {
        //得到总行数
        this.setMaxRowCount(this.getAvailableCount());
        if (this.maxRowCount % this.rowsPerPage == 0) { //根据总行数计算总页数
            this.maxPage = this.maxRowCount / this.rowsPerPage;
        } else {
            this.maxPage = this.maxRowCount / this.rowsPerPage + 1;
        }
    }

}
2.然后创建处理跳转的servlet

public class PageServlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        //try (PrintWriter out = response.getWriter()) {
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        //processRequest(request, response);
       
        
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
        
         try
      {
            PageBean page1=new PageBean();
            PageBean page2=page1.getResult(String.valueOf(request.getParameter("jumpPage").trim()));
              //把PageBean保存到request对象中。注意:viewpage.jsp里jsp:useBean id必须为"page2"才可以!!!
              request.setAttribute("page2",page2);
      }
      catch(Exception e)
      {
              System.out.println("servlet erro");
      }

          /**
       *把视图派发到<span style="font-family: Arial, Helvetica, sans-serif;">newMail.jsp</span>
       */
      javax.servlet.RequestDispatcher dis=request.getRequestDispatcher("newMail.jsp");
      dis.forward(request,response);
        
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}
3.最后创建展示页面

   <body>
        <div>
            <table id="t" border="1">
                <tr>
                    <th class="t1_1">邮件编号</th>
                    <th class="t1">发件人</th>
                    <th class="t1">主题</th>
                    <th class="t1">内容</th>
                    <th class="t1">发送时间</th>
                    <th class="t1_2">状态</th>
                    <th class="t1_2">回复内容</th>
                    <th class="t1_2">回复时间</th>
                    <th>操作</th>
                </tr>  
             
        <script type="text/javascript">  
            function Jumping(){
                   document.PageForm.submit();
                   return ;
                }

            function gotoPage(pagenum){
                document.PageForm.jumpPage.value = pagenum;
                document.PageForm.submit();
                return ;
              }
        </script>
            
       <%
            String s=String.valueOf(page2.getCurPage());
            System.out.println("s=="+s);
            try{
                    ArrayList list=page2.getResult(s).data;
                    System.out.println("list.size="+list.size());
                    for(int i=0;i<list.size();i++){
                    ReceiveMail mail=(ReceiveMail)list.get(i);
        %>
      
        <tr>
             <td class="t2" ><%=mail.getReceiveid()%></td>
             <td class="t2"><%=mail.getUid()%></td>
             <td class="t2"><%=mail.getSubject()%></td>
             <td class="t2"><%=mail.getScontent() %></td>
             <td class="t2"><%=mail.getState() %></td>
             <td class="t2_2"><%=mail.getStime() %></td>
             <td class="t2_2"><%=mail.getRecontent() %></td>
             <td class="t2_2"><%=mail.getRetime() %></td>
             <td class="t2"><a href="javascript:openwindow('Detail_prize.jsp?id=',<%=mail.getReceiveid()%>,'<%=mail.getUid()%>')">回复</a></td>
        </tr>
        <%
                    } }catch(Exception e){
                        System.out.println("显示出错");
                    }
        %>
            </table>
            <%if(page2.getMaxPage()!=1){ %>
            <form name="PageForm" action="PageServlet" method="post">
                每页<%=page2.rowsPerPage%>行
                共<%=page2.getMaxRowCount()%>行
                第<%=page2.getCurPage()%>页
                共<%=page2.getMaxPage()%>页<BR>
                <%
                    if (page2.getCurPage() == 1) {
                    out.print(" 首页 上一页");
                    }else {
                %>
                <a HREF="javascript:gotoPage(1)">首页</A>
                <a HREF="javascript:gotoPage(<%=page2.getCurPage()-1%>)">上一页</A>
                <%}%>
        <%
            if (page2.getCurPage() == page2.getMaxPage()) {
            out.print("下一页 尾页");
        }else {
        %>
        <a HREF="javascript:gotoPage(<%=page2.getCurPage()+1%>)">下一页</A>
        <a HREF="javascript:gotoPage(<%=page2.getMaxPage()%>)">尾页</A>
        <%}%>
        转到第<SELECT name="jumpPage" onchange="Jumping()">
        <%
            for (int i = 1; i <= page2.getMaxPage(); i++) {
            if (i == page2.getCurPage()) {
        %>
        <OPTION selected value="<%=i%>"><%=i%> </OPTION>
        <%} else {%>
            <OPTION value="<%=i%>"><%=i%> </OPTION>
        <%}
        }%>
        </SELECT>
            页
            </form>
           <%}%>
            </div>            
    </body>

省略了EmaiBean这块封装代码。

MySQL数据库+jsp+servlet实现分页查询

前一段做的那个jsp+servlet的小项目用到了分页查询,老师讲了之后实现到了网页上面,今天总结到博客上面,以后忘记了自己可以看,也分享给大家.    这个项目使用的数据库是MySQL,在MySQL...
  • zc1994113
  • zc1994113
  • 2015年12月23日 22:03
  • 5879

java+jsp+servlet实现分页

web.xml配置: abc test.pageServlet abc /inse
  • lishaojun0115
  • lishaojun0115
  • 2015年05月17日 08:47
  • 4155

jsp+servlet实现增删改查,分页,批量删除

jsp+servlet实现增删改查,分页,批量删除主要配置 oracle tomcat服务器 新建javaweb项目 1、打开项目,选择javaEE 2、点击‘File–New,选择Dynam...
  • GXXxasm
  • GXXxasm
  • 2017年05月05日 19:56
  • 500

Jsp+Servlet+MyBatis完成分页查询

1.建立如下图的结构 2.创建JSP文件
  • japanstudylang
  • japanstudylang
  • 2016年06月17日 16:37
  • 500

JSP+Servlet+oracle 的一个分页查询小应用

JSP+Servlet+oracle 的一个分页查询小应用 功能实现:1.编写1个简单jsp页面,提交表单提交一个人的名字到servlet控制器中。 2.编写一...
  • as18819281938
  • as18819281938
  • 2016年06月06日 15:45
  • 1553

jsp/servlet分页带查询示例

  • 2017年04月07日 14:35
  • 1.21MB
  • 下载

Servlet学习:实现分页效果的方法

分页的算法: 需要定义四个变量,它们有各自的用处 int pageSize:每页显示多少条记录 int pageNow:希望显示第几页 int pageCount:一共有多少页 int ro...
  • lissdy
  • lissdy
  • 2012年03月27日 11:11
  • 9735

MVC分层+JDBC+数据库+Servlet实现JSP文件上传和显示+模糊查询+分页

MVC分层+JDBC+数据库+Servlet实现JSP文件上传+模糊查询+分页
  • qq417187792
  • qq417187792
  • 2015年06月16日 18:49
  • 2253

连接mysql的javabean实例+简单分页

学习分页rs.getString(user_id)|rs.getString(user_name)|rs.getString(user_mail)|rs.getString(user_adds) in...
  • ywcai
  • ywcai
  • 2007年03月04日 22:50
  • 955

非常简洁可读性非常强的分页JavaBean

Page.javapackage com.china3cts;import java.sql.*;import java.io.*;import java.lang.*;import java.uti...
  • 3cts
  • 3cts
  • 2006年07月07日 01:24
  • 2237
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:很好的jsp+servlet+javaBean实现数据分页代码例子
举报原因:
原因补充:

(最多只允许输入30个字)