ArrayList list = new ArrayList(); 你这个list 是类一级的
你的每次调用如果都使用这个,然后add 进去,那么每次都会往里面加数据了!public void setList(
  list = new ArrayList(); // 每次拿数据前,需要把以前的数据清除掉。 好像 list.removeAll() 更好一些。

解决方案 »

  1.   

    问题补充  按键 首页 上一页 下一页 末页几个选项时 它的页数也会加一页完整代码补上
    Admin.javaimport java.sql.*;
    public class Admin {

    public String id;
    public String name;
    public String password;
    public String sex;
    public String tel;


      public Admin()  
      {
      }
     
      public String getId()
      {
      return id;
      }
     
    public String getName()
      {
      return name;
      }
     
    public String getPassword()
      {
      return password;
      }

    public String getSex()
    {
    return sex;
    }

    public String getTel()
    {
    return tel;
    }

    public void setId(String id)
    {
    this.id=id;
    }

    public void setName(String name)
    {
    this.name=name;

    }

    public void setPassword(String pwd)
    {
    this.password=pwd;
    } public void setSex(String sex)
    {
    this.sex=sex;
    }

    public void setTel(String tel)
    {
    this.tel=tel;
    }

    /*public ResultSet  getAdmin(){
    String sql="select * from admin ";
    DBConnect db= new DBConnect();
    ResultSet rs = db.executeQuery(sql);
     return rs;
    }*/

    ArrayList list = new ArrayList();
    public final static int PAGE_SIZE = 20;
    public void setList(String sql,int pageNum) {
    list.clear();
    DBConnect db= new DBConnect();
    ResultSet rs = db.executeQuery(sql);
     
    try {
    int i = 0;
    while(rs.next()) {
    i++;
    if((i > PAGE_SIZE * (pageNum - 1)) && (i <= PAGE_SIZE * pageNum)) {
                  id=rs.getString("id");
                   name=rs.getString("name");
                   password=rs.getString("password");
                     tel=rs.getString("tel");
                     sex=rs.getString("sex");
                     Admin admin=new Admin();
                     admin.setId(id);
                     admin.setName(name);
                     admin.setPassword(password);
                     admin.setSex(sex);
                     admin.setTel(tel);
                     admin.addAdmin(); 
    list.add(admin);
                }

    }
    rs.close();
    }
    catch(Exception e) {
    e.printStackTrace();
    }
    finally {
    db.CloseDataBase();
    }
    }
    public ArrayList getList() {
    return this.list;
    }
    public int getPageCount() throws Exception {
    DBConnect db= new DBConnect();
         ResultSet rs = db.executeQuery("select count(*) from admin");
            int count = 0;
            while(rs.next()) {
                count = rs.getInt(1);
            }
            db.CloseDataBase();
            int pageCount = 0;
            pageCount = (count % PAGE_SIZE == 0)?(count/PAGE_SIZE):(count/PAGE_SIZE + 1);
            return pageCount;
        }
    public Admin getAdmin(String sql) {
    DBConnect db= new DBConnect();
    ResultSet rs = db.executeQuery(sql);
    Admin admin =null;
    try {
    while(rs.next()) {
       id=rs.getString("id");
                   name=rs.getString("name");
                   password=rs.getString("password");
                     tel=rs.getString("tel");
                     sex=rs.getString("sex");
                     admin=new Admin();
                     admin.setId(id);
                     admin.setName(name);
                     admin.setPassword(password);
                     admin.setSex(sex);
                     admin.setTel(tel);
                     admin.addAdmin(); 
    }
    rs.close();
    }
    catch(Exception e) {
    e.printStackTrace();
    }
    finally {
    db.CloseDataBase();
    }
    return admin;
    }

    public void updateAdmin(){
        
          String sql="update admin "
                    + " set name='"+name+"',sex='"+sex+"',tel='"+tel+"'  "
                     +" where id='"+id+"' ";
          DBConnect db= new DBConnect();
          db.executeInsert(sql);
                     
         }     
     
     public void deleteAdmin(){
        
    String sql="delete  from admin where id ='"+id+"' ";
    DBConnect db= new DBConnect();
     db.executeDelete(sql);
                              }                       
              
      public int deleteAdmin(String id){
    int num=0;
    String sql="delete  from admin where id ='"+id+"' ";
    DBConnect db= new DBConnect();
    num=db.executeDelete(sql);
    return num;
       }   
      
      public void addAdmin()  {
        String sql="insert into admin(id,name,password,sex,tel)  "
         +"VALUES('"+id+"','"+name+"','"+password+"','"+sex+"','"+tel+"')";
         DBConnect db= new DBConnect();
              
                   db.executeInsert(sql);
            }
      
      public boolean hasLogin(String id){   //检查该管理员是否已经注册
       boolean f=true;
       String sql="select id from admin where id ='"+id+"'";
       DBConnect db =new DBConnect();
       try{
       ResultSet rs=db.executeQuery(sql);
       if(rs.next()){ f=false;}
       else{ f=true;}
       }catch(Exception e){ e.getMessage();}
       return f;
                              }
      
    }
      

  2.   

    AdminControl.javaimport java.io.*;
    import java.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;public class AdminControl extends HttpServlet{

    public void doGet(HttpServletRequest req, HttpServletResponse res)
        throws ServletException, IOException {
        
        String id =req.getParameter("id");
        int success = 0;
        String action = req.getParameter("action");
        Admin admin = null;
        String message="";
       
        if ("new".equalsIgnoreCase(action)) {
          admin = doNew(req,res);
          
          sendBean(req, res, admin, "/admin.jsp");
        }  
        
        if ("update".equalsIgnoreCase(action)) {
         try{
          admin = doUpdate(req,res, id);
          sendBean(req,res,admin,"/admin.jsp");
             }
            catch(SQLException e){} 
        }
       
        if ("delete".equalsIgnoreCase(action)) {
         try{
           success = doDelete(id);
         System.out.println("sssusss" + success);
               }
               catch(SQLException e){}
         if (success != 1) {
         doError(req, res, "AddAdmin: Delete unsuccessful. Rows affected: " + success);
         } else {
         res.sendRedirect("http://localhost:8080/ssglnit/admin.jsp");
         }
       
        }
        }
         public Admin doNew(HttpServletRequest req,HttpServletResponse res )
                               throws ServletException,IOException{
          Admin admin= new Admin();                     
          String id=req.getParameter("id");
          String name=new String(req.getParameter("name").getBytes("ISO8859_1"));
          String password= req.getParameter("password");
          String sex =new String(req.getParameter("sex").getBytes("ISO8859_1"));
          String tel=req.getParameter("tel");
          if( hasLogin(req,res,id)){
          admin.setId(id);
          admin.setName(name);
          admin.setPassword(password);
          admin.setSex(sex);
          admin.setTel(tel);
          admin.addAdmin();  
          }
           return admin;                
                               
                                } public Admin doUpdate(HttpServletRequest req,HttpServletResponse res , String id)
                               throws ServletException,IOException,SQLException {                      
        Admin admin = new Admin();   
        String name=new String(req.getParameter("name").getBytes("ISO8859_1"));
        String password= req.getParameter("password");
        String sex =new String(req.getParameter("sex").getBytes("ISO8859_1"));
        String tel=req.getParameter("tel");
        
        admin.setId(id);
        admin.setName(name);
        admin.setPassword(password);
        admin.setSex(sex);
        admin.setTel(tel);
        admin.updateAdmin();
        return admin;
      }  public int doDelete(String id) throws SQLException {
       int num=0;
        Admin admin=new Admin();
        num=admin.deleteAdmin(id);
        System.out.println("成功" + id);
        return num;
      }

    public void sendBean(HttpServletRequest req, HttpServletResponse res, Admin admin, String target)
                           throws ServletException, IOException {
        req.setAttribute("admin", admin);
        RequestDispatcher rd = getServletContext().getRequestDispatcher(target);
        rd.forward(req, res);
      }
      
      
      public void doError(HttpServletRequest req, HttpServletResponse res, String str)
                          throws ServletException, IOException {
        req.setAttribute("problem", str);
        RequestDispatcher rd = getServletContext().getRequestDispatcher("/errorpage.jsp");
        rd.forward(req, res);
      }
      
      public boolean hasLogin(HttpServletRequest req, HttpServletResponse res,String id)
      throws ServletException, IOException{
       boolean f=true;
       String message="对不起,该房间已经被注册过了!";
       Admin admin= new Admin();
       f= admin.hasLogin(id);
       if(f==false){
       doError(req,res,message);
       }
       return f;
       }
      
      
      public void doPost(HttpServletRequest req, HttpServletResponse res)
        throws ServletException, IOException {    doGet(req, res);  }
    }