Chinaunix首页 | 论坛 | 博客
  • 博客访问: 544197
  • 博文数量: 151
  • 博客积分: 7010
  • 博客等级: 少将
  • 技术积分: 1405
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-22 14:32
文章分类

全部博文(151)

文章存档

2011年(1)

2010年(23)

2009年(1)

2008年(126)

我的朋友

分类: 系统运维

2008-07-05 11:33:09

一、根据以下四个变量定义算法
  int rowCount: 一共有多少条记录
  int pageSize:每页显示多少条记录
  int pageCount: 一共多少页
  int pageNow: 希望显示第几页

二、根据数据库的查询语句每次select出固定的记录显示在一页中
  select top pageSize 字段名列表 from 表名 where id not in(select top pageSize*(pageNow-1) id from 表名)

三、在Wel.java中增加分页功能

import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class Wel extends HttpServlet{
    public Wel() {
    }
   
    //处理get请求
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    {
     Connection ct = null;
     PreparedStatement ps = null;
     ResultSet rs = null;
      try{
       //解决中文乱码
      res.setContentType("text/html;charset=GB2312");
      
      PrintWriter pw = res.getWriter();
      
      //欢迎界面
      pw.println("");
      pw.println("");
      pw.println("

欢迎你的到来

");
      
       //================分页功能==================
       int  rowCount =0 ; //共有几条记录
       int pageSize=3;//一页显示几条记录
       int pageCount=0;//共有几页
       int pageNow = 1;//希望显示第几页
       
       //动态接收pageNow,判断用户要查看哪一页
       String sPageNow = req.getParameter("pageNow");
       
       if (sPageNow != null)
        pageNow = Integer.parseInt(sPageNow);
        
       //加载驱动
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      
      //得到链接
      ct = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=crm","sa","");
      
      ps= ct.prepareStatement("select count(*) from userid");
      rs = ps.executeQuery();
      
      if(rs.next())
      {
       rowCount = rs.getInt(1);  //得到rowCount
      }
      
      //计算pageCount
      if(rowCount%pageSize==0)
      {
       pageCount = rowCount%pageSize;
      }
      else
      {
       pageCount = rowCount%pageSize+1;
      }
      
       //按每页的数量从数据库查询数据
       ps= ct.prepareStatement("select top "+pageSize+" * from users where id not in(select top "+pageSize*(pageNow-1)+" id from users)");
      rs = ps.executeQuery();
      
      pw.println("");
      pw.println("");
      if(rs.next())
      {
       pw.println("");
       pw.println("");
       pw.println("");
       pw.println("");
       pw.println("");
       pw.println("");
       pw.println("");
      }
      pw.println("
用户ID名字密码邮件地址
"+rs.getInt(1)+""+rs.getString(2)+""+rs.getString(3)+""+rs.getString(4)+""+rs.getString(5)+"
");
      
      //显示分页的页码,如果用户点击分页码,就把该值传给wel,显示相应内容
      for(int i=1;i<=pageCount;i++)
      {
       pw.println(""+i+"");
      }
      
      pw.println("");
      pw.println("");
     }
     catch(Exception e)
     {
      e.printStackTrace();
     }
    }
   
    //处理post请求
    public void doPost(HttpServletRequest req, HttpServletResponse res)
    {
     this.doGet(req,res);
    }
   
}
   
阅读(1880) | 评论(1) | 转发(0) |
0

上一篇:servlet:数据库操作

下一篇:servlet:cookie

给主人留下些什么吧!~~

chinaunix网友2010-02-04 16:51:45

非常感谢大侠!受教了!