你的问题出在String sUrl="jdbc:mysql://localhost/"+DBname;这句上。
如果你用“public String DBname;”,则DBname没有初始化,为null值,然后你使用的时候,就会报错的。最好在定义DBname时赋给它一个空字符串,这样就不会报错了。

解决方案 »

  1.   

    谢谢。但是还是这样:
    我将它改成
    public String DBname=null;
    或者public String DBname="";
    然后编译,再运行jsp都是说以上的错误。
      

  2.   

    不能是=null;
    必须是DBname="";
      

  3.   

    另,你重新编译了bean,最好重起一下你的应用服务器。
      

  4.   

    一样是这样阿。但是如果我将
    public String DBname="" ;
    String sUrl="jdbc:mysql://localhost/"+this.DBname;
    改成
    public String DBname="";
    并将conn=DriverManager.getConnection(sUrl,DBusername,DBpassword);
    改成
    conn=DriverManager.getConnection(DBname,DBusername,DBpassword);将jsp中的用setDBname
    c.setDBname("jdbc:mysql://localhost/dbase");这时候就可以。
      

  5.   

    哦,知道了,你创建数据库连接的时候,创建失败,返回的conn为null,然后你使用的时候就会报错的。你的sUrl在对象建立的时候已经初始化了,你再改变DBname的值也没有用了。
      

  6.   

    最好你在getConnection的时候再组合字符串
    String sUrl="jdbc:mysql://localhost/";
    String DBname = "";
    .
    .
    .conn=DriverManager.getConnection(sUrl + DBname,DBusername,DBpassword);