class DataConn
{
public DataConn() {
 sDBDriver = "com.mysql.jdbc.Driver";
try {
Class.forName(sDBDriver);
} catch (ClassNotFoundException classnotsfoundexception) {
System.err
.println("faq(): " + classnotsfoundexception.getMessage());
} public static void main(String[] args){
DataConn dc=new DataConn();
}
}为什么放在main里面可以,放在其它地方就会出Exception

解决方案 »

  1.   

    什么异常?
    我没有写在main中 没问题啊?
    把异常贴上啊。
      

  2.   

    你的main函数是static的
    应该用static吧
      

  3.   

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    报这个错不能发现这个类,,放在main就没事,,我想知道为什么?
      

  4.   

    public List getPageMsg() {
       DataConn dc = new DataConn();
    }
    我放在在这里用总是报java.lang.ClassNotFoundException: com.mysql.jdbc.Driver,,public static void main(String[] rags){
      DataConn dc = new DataConn();

    用在这里就可以
      

  5.   

    出现这个问题应该是 mysql 驱动器等相关类不包含在类路径里,你看看吧,应该是这个原因,所以找不到数据库的驱动类
      

  6.   

    mysql 驱动器等相关类不包含在类路径问题,为什么在main里面可以啊,,我把完整的代码贴出来(写的有点乱...)大家帮我看看~~
    package com.my.db;
    public class DataConn {
    public DataConn() {
    String sDBDriver = "com.mysql.jdbc.Driver";
    try {
    Class.forName(sDBDriver);
    } catch (ClassNotFoundException ex) {
    ex.printStackTrace(); }
    }
    }package com.my.db;
    public class MsgOperation {
       public static void main(String[] args){
          DataConn dc = new DataConn();
       //这样就可以
      }
    public ResultSet getAllMsg() {
    DataConn dc = new DataConn();
    //String strSql = "Select * from msgboard order by no desc ";
    //ResultSet rs = dc.executeQuery(strSql);
    //这样不行
               }
    }package com.myoperation.db;public class MyOption{
    MsgOperation  oper=new MsgOperation ();
     oper.getAllMsg()///在这里调用}
      

  7.   

    class DataConn
    {sDBDriver = "com.mysql.jdbc.Driver";
    public DataConn() {}
    public createConn(){
    try {
    Class.forName(sDBDriver);
    } catch (ClassNotFoundException classnotsfoundexception) {
    System.err
    .println("faq(): " + classnotsfoundexception.getMessage());
    }}

    专门写一个函数createConn(),使用方法:DataConn a1=new DataConn();
    a1.createConn();
      

  8.   

    com.mysql.jdbc.Driver的jar在你的main函数项目的类路径里。
    你说的其他地方估计没有引用这个jar或者这个jar不在类路径里。
      

  9.   

    class DataConn  { 
          public static DataConn() { 
                sDBDriver = "com.mysql.jdbc.Driver"; 
                try { 
                      Class.forName(sDBDriver); 
                } catch (ClassNotFoundException classnotsfoundexception) { 
                      System.err .println("faq(): " + classnotsfoundexception.getMessage()); 
                }
          }       public static void main(String[] args){ 
                DataConn dc=new DataConn(); 
          } 

      

  10.   

    感谢大家的帮忙,,,还没有解决,,
    to mengshan1986 我已经按你的方法做了,还是不行,,,to antonyx  我用的是Add external Archies 加的mysql的jar包进来的to import_jsp 我不太明白你的意思哦,你的意思是这里加个static,,好像在构造函数里加static编译都通不过啊,,
    在线等~~QQ:107954153
      

  11.   

    public ResultSet getAllMsg() { 
    DataConn dc = new DataConn(); 
    //String strSql = "Select * from msgboard order by no desc "; 
    //ResultSet rs = dc.executeQuery(strSql); 
    //这样不行 
              } 

    你没有返回值当然报错了。
      

  12.   

     感谢大家的回复,,我的问题已经解决了,是要把mysql,jar包放在tomcat/comm/bin下面就可以了,