我想不会是数据库的问题,因为Conn.java里的main 函数进行数据库操作正常.
Conn.java 里有一个getConn():
public Connection getConn() {
        try{
return (DriverManager.getConnection(sCn, "sa", ""));
        }
        catch(SQLException ex){
            System.err.println("open connection error:" + ex.getMessage());
return null;
        }
}如果在Conn.java 里加一个
public String test() {
return "ok";
}
再在jsp文件里Connection cn = cnn.getConn();前加上
out.println(cnn.test());
可正常输出"ok"

解决方案 »

  1.   

    可正常输出"ok"
    说明你的javabean配置没有问题(指放置位置,tomcat的设置)输出:connection false!
    说明javabean中的System.err.println("open connection error:" + ex.getMessage());
    return null;
    被执行
    如果你在main方法里也是调用这个方法的话,那么,你得到的结果应该还是无法执行
    现在
    if (楼主没有rpwt)
        System.out.println("你的javabean又new了一个Connection");
        else
        {
            System.out.println("楼主太有RPWT了");
            System.out.println("帖出main方法和javabean,jsp以及其他有关的"); 
         }楼主,我怀疑wentizai的main方法的调用(没有起到测试的目的)或者javabean上(根本没用return回来的Connection)
      

  2.   

    还有建议把Connection内置在javabean里,只返回ResultSet,这样你在new一个类的对象的时候,连接就建立了
    也就是不要public Connection XXX
    写上public ResultSet getResultSet(String sqlString)方法
      

  3.   

    http://blog.csdn.net/faneann/archive/2005/01/18/257945.aspx我的Blog上的例子
      

  4.   

    不重要的代码就不贴了,以下2个方法在Conn.java中:
    public ResultSet query(String sql) {
            try{
                Connection conn = getConn();
    if (conn == null) {
    return null;
    }
                Statement stmt = conn.createStatement();
                return stmt.executeQuery(sql);
            }
            catch(SQLException ex){
                System.err.println("sitt.db.conn().Query:".concat(String.valueOf(String.valueOf(ex.getMessage()))));
    return null;
    }
    }
    ////////////////////////////////////////////////////
    public static void main(String[] args) {
    Conn a = new Conn();
    Connection cn = a.getConn();
    if (a==null) {
    System.out.println("error!\n");
    }
    else {
    System.out.println("ok!\n");
                      }
    try {
    ResultSet rs=a.query("select * from t");
    while (rs.next()) {
    System.out.println(rs.getString(1));
    }
    } catch (Exception e) {
    System.out.println(e.getMessage());
    }
    可以输出表 t 中记录.
    高手指教!谢谢!
      

  5.   

    出错信息:[Microsoft][ODBC 驱动程序 管理器] 未发现数据源名称并且未指定默认驱动程序 
    但为什么不用jsp而用Conn.java里的main()却没问题呢?
      

  6.   

    配置系统dsn了啊!要不怎么会能在Conn.java里的main()运行?
      

  7.   

    你确定吗配置用户dsn在Conn.java里的main()运行可以但在jsp调bean就不可以再确认一下
      

  8.   

    ok!终于搞定了!
    原来我配置的是用户dsn,改为系统dsn问题就解决了!高手解释一下这是什么原因呢?