jsp+servlet+javaBean怎样实现分页

来源:互联网 发布:网络摄像头代理 编辑:程序博客网 时间:2024/05/18 02:31
我写了类协作访问数据库,但是不知道如何分页,现在将问题描述如下:
我想要问的是如何在该servlet中建立List类将查询结果转发到jsp,并且使用tld自定义标记库和分页,那位朋友有类似的例子的发一份给我参考下,并希望有注释。我的联系方式q:254475842 邮箱:hlmcdh@163.com
//ConnBean.java类:
package com.javaBean;
import java.sql.*;
public class ConnBean
{
    static Connection conn;
    static String DriverName="com.mysql.jdbc.Driver";
    static String DataBaseUrl="jdbc:mysql://localhost:3306/SCstudent?useUnicode=true&characterEncoding=GBK";
    static String DBUserName="root";
    static String DBPassWord="mmc";
   

public ConnBean()
{
   
}
   
private static void loadDriver(){
   
   
    try {
       
        Class.forName(DriverName);
       
    } catch (ClassNotFoundException e) {
       
       
        System.out.println("LoadDriverError!");
       
       
    }
   
}                          
static Connection getConnection()
{
     
    try
    {
        loadDriver();
        conn=DriverManager.getConnection(DataBaseUrl,DBUserName,DBPassWord);
       
    }catch (Exception e)
    {
        e.printStackTrace();
    }
   
    return conn;
}

}

//DbQuery.java类

package com.javaBean;
import java.sql.*;
public class DbQuery
{

Connection conn=null;
ResultSet rs=null;
Statement stmt;
public DbQuery()
{
    try
    {
        conn=ConnBean.getConnection();
        stmt=conn.createStatement();
    }
    catch(SQLException e)
    {
        System.err.println("dbconnaccess():"+e.getMessage());
    }
}
public Statement getstmt()
{
    return stmt;
}


public ResultSet exesql(String sql)
{
    rs=null;
    try
    {
        rs=stmt.executeQuery(sql);
    }
    catch (SQLException ex)
    {
        System.err.println("aq.excutequery:"+ex.getMessage());
    }
return rs;
}


public boolean executeupdate(String sql)
{
    try
    {
        stmt.executeUpdate(sql);
        return true;
}
    catch(SQLException ea)
    {
        System.err.println("aq.executeupdate:"+ea.getMessage());
    }
    return false;
}
public void closedb()
{
    try
    {
        if(rs != null)
            rs.close();
        if(stmt != null)
            stmt.close();
        if(!conn.isClosed() || conn != null)
            conn.close();
    }
    catch(Exception e)
    {
        System.out.println(e.toString());
    }
}

}

//DeptTest.java类:

package com.javaBean;

import java.sql.*;

public class DeptTest extends DbQuery {
    private ResultSet rrs = null;
    private boolean rs;
    private String Dno = null;
    private String Dname = null;
    private String sql = null;

    public DeptTest() {

    }

    public void setDno(String Dno) {
        this.Dno = Dno;
    }

    public String getDno() {
        return Dno;
    }

    public void setDname(String Dname) {
        this.Dname = Dname;
    }

    public String getDname() {
        return Dname;
    }

    public boolean InsertToDept() throws SQLException {
        if (Dno == null || Dname == null)
            return false;
        sql = "insert into dept values('" + Dno + "'," + "'" + Dname + "')";
        rs = super.executeupdate(sql);
        super.closedb();
        return rs;
    }

    public ResultSet SearchDeptbyDno(String Dno) throws SQLException {
        if (Dno == null)
            return null;
        sql = "select * from dept where Dno='" + Dno + "'";
        rrs = super.exesql(sql);
        return rrs;
    }

    public boolean DeleteDeptByDno(String Dno) throws SQLException {
        if (Dno == "")
            return false;
        sql = "delete from dept where Dno=" + Dno;
        rs = super.executeupdate(sql);
        super.closedb();
        return rs;
    }
   
    public ResultSet display()
    {
        sql ="select * from dept";
        rrs = super.exesql(sql);
        return rrs;
    }

    public boolean Dnoisexist(String Dno) throws SQLException {
        boolean isexist = false;
        sql = "select * from dept where Dno=" + Dno;
        rrs = super.exesql(sql);
        if (rrs != null)
            isexist = true;
        // super.closedb();
        return isexist;
    }

    public boolean UpdateDeptByDno(String Dno) throws SQLException {
        sql = "update dept set Dno='" + Dno + "',Dname='" + Dname
                + "' where Dno=" + Dno;
        rs = super.executeupdate(sql);
        super.closedb();
        return rs;

    }
   
}

//SearchDept.java

查询的servlet类:这个地方不会写List类和分页,需要问各位的在此:

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.javaBean.DeptTest;

 public class SearchDept extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet
 {
   static final long serialVersionUID = 1L;
   private static String DDno;
   static ResultSet rs=null;
   static String DDname=null;
    public SearchDept()
    {
        super();
    }      
   
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {

     
        doPost(request,response);
       
    }     
   
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
      response.setCharacterEncoding("GB2312");
      PrintWriter out=response.getWriter();
      String Dno=request.getParameter("Dno");
     
      DeptTest dt=new DeptTest();
     try
     {
         rs=dt.SearchDeptbyDno(Dno);
         if(rs.next())
         {
             DDno=rs.getString("Dno");
             DDname=rs.getString("Dname");
             if(Dno.equals(DDno))
                {
                out.println(DDno);
                out.println(DDname);
                }
         }
         else
         {
             response.sendRedirect("SearchDept.html");
         }
         
     }
     catch (SQLException e)
     {
       
        e.printStackTrace();
     }
   
     
    }
 }
       
       
       
             



原创粉丝点击