Servlet分页的实现的核心代码

public class LoginServlet1 extends HttpServlet{

      

int pageSize=5;//页大小
         int pageCount=0;//总页数
         int rowCount=0;//列数量      

         int pageNow=0;//当前页面

         String aPageNow=request.getParameter("pageNow");

         // 当程序第一次加载时当前页的apageNow变量为空,所以要判断不为空

         if (aPageNow!=null) {
             pageNow=Integer.parseInt(aPageNow);
            }
        
             //1.加载链接
              Class.forName("com.mysql.jdbc.Driver");
              //2.获取连接
              ct=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase","root","");
              //3.创建statement
               ps=(PreparedStatement) ct.prepareStatement("select count(*) from users");
              //4.执行操作
               rs=(ResultSet) ps.executeQuery();
               rs.next();//逐行遍历数据库数据
               rowCount=rs.getInt(1);//总行数
               pageCount= rowCount*pageSize==0?rowCount/pageSize:rowCount/pageSize+1;//总页数
               ps = (PreparedStatement) ct.prepareStatement("select * from users limit "+(pageCount-1)*pageNow+",5");

               rs=(ResultSet) ps.executeQuery();



               out.println("<table border=1px width=600px cellspacing=0>");
               out.println(  "<tr><th>id</th>" +
                          "<th>用户名</th>" +
                          "<th>email</th>" +
                          "<th>级别</th>" +

                          "<th>密码</th></tr>");



               while (rs.next()){    
                     //5.根据结果做处理
                    //用户合法
                      out.println("<tr><td>"+rs.getInt(1)+"</td>" +
                              "<td>"+rs.getString(2)+"</td>" +
                              "<td>"+rs.getString(3)+"</td>" +
                              "<td>" +rs.getInt(4)+"</td>" +
                              "<td>"+rs.getString(5)+"</td></tr>");
                      
                  }              

               out.println("</table>");


              if (pageNow>=1) {
                       out.print("<a href='/day06/LoginServlet1?pageNow="+(pageNow-1)+"' colspan='2'>上一页</a>&nbsp;&nbsp");
               }
               //显示分页
               for (int i = 0; i < pageCount; i++) {
                out.print("<a href='/day06/ LoginServlet1? pageNow="+i+"' colspan='2'><"+(i+1)+"></a>&nbsp&nbsp;&nbsp");
               }
              
               System.out.println("pageNow:"+pageNow);
                   if (pageNow<(pageCount-1)) {
                       out.print("<a href='/day06/LoginServlet1?pageNow="+(pageNow+1)+"' colspan='2'>下一页</a>&nbsp&nbsp;&nbsp");
                
                    
               }
               out.print("当前页:"+(pageNow+1)+"&nbsp&nbsp"+"总页数:"+pageCount);


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值