不用JAVABEAN就可以实现啊,为什么要JAVABEAN?

解决方案 »

  1.   

    不用javabean怎么用jsp换行?
      

  2.   

    我也正在调试,但是有两个语法错误,你看看!调好了,让我也共享!
    数据库连接的Bean:
    /**
     * Title:        Mr.<p>
     * Description:  <p>
     * Copyright:    Copyright (c) Xu Zhengguo<p>
     * Company:      cvicse <p>
     * @author Xu Zhengguo
     * @version 1.0
     */
    package data;
    import java.sql.*;
    import java.lang.*;
    import java.text.*;
    import java.io.*;
    import java.util.*;
    public class DBConn
    {
      private String DBDriver="COM.ibm.db2.jdbc.net.DB2Driver";//我是用DB2数据库
      private String DBLocation="jdbc:odbc:localweb";
      private String DBUser="aaa";// 用户名
      private String DBPwd="aaa"; // 连接口令
      private Connection conn=null;
      public DBConn()
      {
      }
      public DBConn(String DBDriver,String DBLocation){
       this.DBDriver=DBDriver;
       this.DBLocation=DBLocation;
      }
      public void setDBLocation(String DBLocation){
       this.DBLocation = DBLocation;
      }
      public void setDBDriver(String DBDriver){
       this.DBDriver = DBDriver;
      }
      public void setDBUser(String DBUser){
       this.DBUser = DBUser;
      }
      public void setDBPwd(String DBPwd){
       this.DBPwd = DBPwd;
      }
      //建立数据库连接
      public void connect(){
       try {
         Class.forName(DBDriver);
         conn = DriverManager.getConnection(DBLocation, DBUser, DBPwd);
                
            }catch(SQLException e){
            }
    }
     //得到数据库的连接
     public Connection getConn() throws SQLException
     {
            if (conn==null){
             connect();
            }
            return conn;
     }
    }//分页的Bean:
    package data;
    import java.io.*;
    import java.sql.*;public class DbQuery
    {  
      private ResultSet rs = null;
      private Connection conn = null;
      private DBConn dbConn= null;
      private int concurType= ResultSet.CONCUR_READ_ONLY;
      private int scrollType= ResultSet.TYPE_FORWARD_ONLY; 
      
      public DbQuery(){
    }
      //构造一个可用的数据库连接
      public DbQuery(DBConn dbConn){
       this.dbConn=dbConn;
      }
      //建立数据库连接
      private void createConnection(){
       if (conn==null){
       if (dbConn==null){
       dbConn=new DBConn();
       dbConn.connect();
       }
       conn=dbConn.getConn();
       }
    }  //执行查询
      private ResultSet executeQuery(String strSql) throws SQLException{
          if(strSql==null){
           return null;
          }
       //如果没可用连接,试着建立缺省连接
      if(conn==null){
       createConnection();
      }
      //如果仍然没有可用连接,返回null值
      if (conn==null){
       rs=null;
       }else{
            Statement s = conn.createStatement(scrollType,concurType);
            rs = s.executeQuery(strSql);
        }
        return(rs);
        }
      //分页,移动记录
      public ResultSet getRecorderList(int pageSize,int currentPage){
       if(currentPage<=1){
       try{
       return executeQuery("select * from nullid.bdsj order by date desc,time desc");
       }catch(SQLException e){
       return null;
       }
       }else{
       scrollType=ResultSet.TYPE_SCROLL_INSENSITIVE;
       try{
       ResultSet rs = executeQuery("select * from nullid.bdsj order by date desc,time desc");
       }catch(SQLException e){
       return null;
       }
       //移动光标到所需页的第一条记录上
       int absoluteLocation=pageSize*(currentPage-1);
       try{
           if (rs.absolute(absoluteLocation)==false){
            return null;
       }
       }catch(SQLException e){
       return null;
       }
            return rs;
       }
       }
    }
      

  3.   

    分页bean
    import java.util.Vector;public class ShowBean {    private int totalPage=0;        //总共的页数
        public void setTotalPage(int newTotalPage) {
            totalPage = newTotalPage;
        }
        public int getTotalPage() {
            return totalPage;
        }        public ShowBean() {
        }    /**
        * @description 分页显示办公用品记录
        * @para String pPage 第几页
        *  @para String pBranch 每页显示几条记录
        *  @para Vector pVe 要分页的对象
        */
        public Vector showResult(int pPage,int pShowN,Vector pVe){
            if( pVe==null|| pVe.size()<=0){
                return null;
            }
            else{
                int size=pVe.size();
                totalPage=size/pShowN;
                if(!(totalPage*pShowN==size))
                    totalPage=totalPage+1;
                if(pPage>totalPage)
                    return null;
                int start=0;
                int end=0;
                if(pPage==totalPage)
                    end=size-1;
                else
                    end=pPage*pShowN-1;
                if(pPage==1)
                    start=0;
                else
                    start=(pPage-1)*pShowN;
                Vector v=new Vector();
                for(int i=start;i<=end;i++){
                    v.addElement(pVe.elementAt(i));
                }
                if(v.size()<=0)
                     v=null;
                return v;
            }
        }
      

  4.   

    哈哈,车车也来灌水了,你小子最近还在玩JSP?
      

  5.   

     该JavaBean必须调用另一个连接数据库的JavaBean,该JavaBean所用到的数据库是MySql,不过你可以通过修改Linkdb.java来将其改为另一种数据库。为了使代码容易理解,我尽量做了解释。代码具体如下: 一、连接数据库的JavaBean:Linkdb.java %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Linkdb.java%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    package pagination; import java.sql.*; public class Linkdb { 
      String strDriver="org.gjt.mm.mysql.Driver"; 
    //使用时请具体修改数据库名称,用户名和密码。 
      String strConn="jdbc:mysql://localhost/forum?user=root&password=admin"; 
      private Connection conn = null; 
      private Statement stmt = null; 
      ResultSet rs = null;   public Linkdb()  
      { 
       //连接MySql_jdbc驱动程序 
        try {  
             Class.forName(strDriver).newInstance();  
            } catch (Exception E) {  
                System.err.println("不能连接MySql数据库!");  
              }  
      } 
    //执行Select语句 
      public ResultSet executeQuery(String sql) { 
        rs = null; 
        try { 
          conn = DriverManager.getConnection(strConn);  
          stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); 
          rs = stmt.executeQuery(sql); 
           }catch(SQLException ex) {  
              System.err.println("执行SQL语句出错:" + ex.getMessage()); 
           } 
        return rs; 
      } //执行Insert,Update语句  
      public void executeUpdate(String sql) { 
        stmt = null; 
        rs=null; 
        try { 
        conn = DriverManager.getConnection(strConn);  
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); 
        stmt.executeQuery(sql); 
        stmt.close(); 
        conn.close(); 
        }  
        catch(SQLException ex) {  
          System.err.println("执行SQL语句出错: " + ex.getMessage()); 
        } 
      }   public void closeStmt(){ 
        try{ 
          stmt.close(); 
         } 
        catch(SQLException e){ 
          e.printStackTrace(); 
         } 
      }   public void closeConn(){ 
        try{ 
          conn.close(); 
         } 
        catch(SQLException e){ 
          e.printStackTrace(); 
         } 
      } 
    } 二、分页的JavaBean:Pagi.java 
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Pagi.java%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    package pagination; import java.util.*; 
    import java.sql.*; 
    import java.io.*; 
    import javax.servlet.*; 
    import javax.servlet.http.*; public class Pagi 

      ResultSet CountTopicrs=null;      //初始化总记录数Rs变量 
      ResultSet Pagirs=null;        //初始化分页时Rs变量   public int intCountTopic=0;              //主题总数 
      public int intPageSize;                  //每页显示主题数 
      public int intPageCount;                 //总页数  
      public int intPage=1;                    //当前页数  
    //  int i;   public String nowPage;                   //初始化当前页intPage变量,以准确便获取当前页。 
      public String HttpFile;                  //当前的地址栏的文件。   Linkdb db;                        //定义Linkdb类的一个对象。 
      //定义构造器,初始化每页显示的主题数和数据库的连接。 
      public Pagi(){ 
         intPageSize=2;   
         db = new Linkdb(); 
      } //Countsql:总记录的Query字符串。[形式为select count(*) from tablename] 
    //Pagisql :要分页的Query字符串。[形式为select * from tablename where ...] 
    //request :参数传递过程中的变量。[用来控制翻页时的pages变量]   public ResultSet querySql(String Countsql,String Pagisql,HttpServletRequest request)  
          throws SQLException{    
        //获取当前文件名。   
        HttpFile=request.getRequestURI();     //获取当前页,将数值赋予intPage变量。[分页栏中必须要有pages参数] 
        nowPage=request.getParameter("pages");     if (nowPage==null){ intPage=1; }  
        else{ intPage=Integer.parseInt(nowPage); 
         
        if (intPage<1) intPage=1; } //获取总记录数的结果集。 
    CountTopicrs=db.executeQuery(Countsql); 
    if (CountTopicrs.next()) 

    intCountTopic=CountTopicrs.getInt(1); 

    //获取总页数。 
    intPageCount = (intCountTopic+intPageSize-1)/intPageSize; 
    //如果当前页大于总页数,则当前页等于总页数。 
    if (intPage>intPageCount) 
        { 
          intPage=intPageCount;  
        } 
        //关闭总主题数的数据集。 
        CountTopicrs.close();     //获取执行分页的结果集。 
        Pagirs=db.executeQuery(Pagisql); 
       return Pagirs; 
    }//end querySql function. //获取记录总数。 
    public int getCountTopic() 

      return intCountTopic; 
    } //获取总页数。 
    public int getPageCount() 

      return intPageCount; 
    } //获取当前页数。 
    public int getIntPage() 

      return intPage; 
    } //获取当前页的数据。boodata为True,表示要加入该数据到当前页。 
    //这里可能会在JSP调用时影响速度[因为调用时要多一层循环],因此放到JSP中嵌入,待改进。 
    //该代码暂时保留。 
    //  public boolean getData(){ 
    //    boolean boodata=false;      
    //      if (intPageCount>0) 
    //    { 
    //      try 
    //      { 
    //        while (Pagirs.next()) 
    //        { 
    //          i++; 
    ///          if (i>((intPage-1)*intPageSize) &&(i<=intPage*intPageSize)) 
    // { 
    // boodata=true; 
    // } 
    // } //endwhile. 
    // }//end try. 
    // catch(Exception e){ 
    // System.out.println(e.toString()); 
    // } 
    // } //endif. 
    // return boodata; 
    // } //end getData(); //分页栏函数。 
    public String PageFooter() { 
    String str = ""; 
    int next, prev; 
    prev=intPage-1; 
    next=intPage+1; 
    str +="共"+getCountTopic()+"篇"+"  分"+getPageCount()+"页显示"; 
        str +=" 第"+getIntPage()+"页 "; 
        if(intPage>1) 
          str +=  " <A href=" + HttpFile + "?pages=1"+">第一页 ";  
        else str += " 第一页 ";     if(intPage>1) 
          str +=  " <A href=" + HttpFile + "?pages=" + prev + ">上一页 ";  
        else str += " 上一页 ";     if(intPage<intPageCount) 
    str += " <A href=" + HttpFile + "?pages=" + next + ">下一页 ";  
        else str += " 下一页 ";     if(intPageCount>1&&intPage!=intPageCount) 
        str +=  " <A href=" + HttpFile + "?pages=" + intPageCount + ">最后页";  
        else str += " 最后页 ";     return str; 
      } }  //end. 三、调用实例:testpage.jsp 
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%testpage.java%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    <%@ page language="java" import="java.sql.*, pagination.*" %> 
    <%@ page contentType="text/html; charset=gb2312" %> 
    <jsp:useBean id="pagi" scope="page" class="pagination.Pagi" /> 
    <html> <body> 
    <table border=1 align="center"> 
    <% 
    String CountQuery="select count(*) from member"; 
    String query = "select * from member"; 
    //读queyrSql方法,返回结果集。 
    ResultSet rs = pagi.querySql(CountQuery,query, request); 
    String footer = pagi.PageFooter(); //读分页栏 out.println("<tr><td align='center'>姓名</td><td align='center'>来自</td></tr>"); 
    if (pagi.intPageCount>0) 
        { 
         int i=0; 
            while (rs.next()) 
            { 
              i++; 
              String aa=""; 
              String bb=""; 
              if (i>((pagi.intPage-1)*pagi.intPageSize) &&(i<=pagi.intPage*pagi.intPageSize)) 

    aa=rs.getString(2); 
    bb=rs.getString(4); 
    %> 
       <tr><td><%=aa%></td><td><%=bb%></td></tr> 
    <% 

    } //endwhile. 
    } //endif. 
    out.println("<tr><td colspan=2>"+footer+"</td></tr>"); 
        rs.close(); 
    %>  
    </table> 
    </body> 
    </html>    
      

  6.   

    to colababy 看看我的问题,有办法吗?
    如何在一个用户对application操作时防止别的用户对它操作?