stevenson1017(明月) 你好:
我按照你的方法去做了在前面加了<%@ page import="DatabaseConn"%>
报错:org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: -1 in the jsp file: nullGenerated servlet error:
    [javac] Compiling 1 source fileD:\Apache Group\Tomcat5\work\Catalina\localhost\dcs\org\apache\jsp\upload\text_005fdb_jsp.java:9: '.' expected
import DatabaseConn;
                   ^

解决方案 »

  1.   

    bean和测试页好像没有错误
    你试着把bean.class文件放到web-inf\classes\package_name\bean.class
    <jsp:useBean id="XX"    class="package_name.bean"/>
      

  2.   

    import DatabaseConn;对啊,你不能直接这样写的,比如你要引入date,就应该写成:import java.sql.date;而不能写成
    import date;看看你的DatabaseConn在那个包里,将其写全了。
      

  3.   

    我将javabeans加上package lguo;编译后测试网页改为:
    <%@ page import="lguo.DatabaseConn"%>
    <jsp:useBean id="aaa" class="lguo.DatabaseConn" scope="page" >
    </jsp:useBean>
     <%  ResultSet rst;
         String sql="";
       
    try{
      // Connection conn=DatabaseConn.getConnection();
       sql = "select * from [file]";
       rst = aaa.executeQuery(sql);
       while(rst.next()){
        out.println(rst.getString(1));                 
          }
     }catch(Exception  e) {
    out.println(e);
    }
    %>
    执行后网页出现java.lang.NullPointerException
      

  4.   

    试着把public void executeUpdate(String sql)中的conn.close();这一行去掉看看。
      

  5.   

    我重新做了一个JavaBeans,现在OK了!package lguo;import java.sql.*;
    import javax.naming.*;
    import javax.sql.DataSource;
    //一个用于查找数据源的工具类。
    public class DatabaseConn{
    private Connection con=null;
    private Statement stmt=null;
    ResultSet rst=null;public  ResultSet executeQuery(String sql) throws Exception
    {
    rst=null;
    try
    {   
    Context initCtx = new javax.naming.InitialContext(); 
                Context envCtx = (Context) initCtx.lookup("java:comp/env"); 
                DataSource ds = (DataSource)envCtx.lookup("jdbc/dcs"); 
        con=ds.getConnection();
        stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    rst=stmt.executeQuery (sql);
    }
    catch(SQLException e){throw e;}
    catch(NamingException e){throw e;}return rs;
    }
        //执行Insert,Update语句  
    public void executeUpdate(String sql) throws Exception
    {
    stmt = null;  
    rst=null;  
    try
    {  
        Context initCtx = new javax.naming.InitialContext(); 
                Context envCtx = (Context) initCtx.lookup("java:comp/env"); 
                DataSource ds = (DataSource)envCtx.lookup("jdbc/dcs"); 
        con=ds.getConnection();
        stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    stmt.executeQuery(sql);  
    stmt.close();  
    con.close();  
    }
    catch(SQLException ex) 
    {
    System.err.println("执行SQL语句出错: " + ex.getMessage());  
    }
    }
    // 关闭stmt和关闭连接
    public void close_all()  
    {  
    try{
    stmt.close();
    con.close();
    }  
    catch(SQLException e){e.printStackTrace();}  
    }  
    }
      

  6.   

    建议将取connection的操作写到一个方法中,以免一次次
    Context initCtx = new javax.naming.InitialContext(); 
    Context envCtx = (Context) initCtx.lookup("java:comp/env"); 
    DataSource ds = (DataSource)envCtx.lookup("jdbc/dcs"); 
    con=ds.getConnection();
      

  7.   

    这是我最后修改的JavaBeans!package datapool;import java.sql.*;
    import javax.naming.*;
    import javax.sql.DataSource;
    //一个用于查找数据源的工具类。
    public class DBPool {

    private Context initCtx;
    private Context envCtx;
    private DataSource ds;
    private Connection conn=null;
    private Statement stmt=null;
    public ResultSet rs=null; public DBPool() {
    try {
    System.out.println("DBPool");
    initCtx = new javax.naming.InitialContext();
    envCtx = (Context) initCtx.lookup("java:comp/env");
    ds = (DataSource)envCtx.lookup("jdbc/bn");
    } catch(NamingException ne) {
    System.out.println("数据库连接池初始化失败! \n " + "DBPool: " + ne );
    }
    } public  ResultSet executeQuery(String sql) throws Exception
    {
    rs=null;
    System.out.println("executeQuery");
    try
    {   
        conn = ds.getConnection();
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
    rs = stmt.executeQuery (sql);
    }
    catch(SQLException e){throw e;}
    return rs;
    }
        //执行Insert,Update语句  
    public int executeUpdate(String sql) throws Exception
    {
    rs=null;
    int i = 0;
    try
    {
        conn = ds.getConnection();
        stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    i = stmt.executeUpdate(sql);
    close_all() ;
    }
    catch(SQLException ex) 
    {
    System.err.println("执行SQL语句出错: " + ex.getMessage());
    close_all();
    return 0;
    }
    return i;
    }
    // 关闭stmt和关闭连接
    public void close_all()  
    {
    try{
    stmt.close();
    conn.close();
    } catch(SQLException e) {
    e.printStackTrace();
    }  
    }
    }