Java 如何修复:“;未找到适合jdbc的驱动程序:mysql://localhost/dbname” 错误

Java 如何修复:“;未找到适合jdbc的驱动程序:mysql://localhost/dbname” 错误,java,mysql,apache,jdbc,Java,Mysql,Apache,Jdbc,我正在尝试用java创建与musql的连接。 当我使用Main时,它可以正常工作,但当我使用apache时,它会返回错误: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/database_name.. 我读了一些看起来很像的问题,这些问题对我很有帮助 我使用JDK8和JDBC5。 JDBC驱动程序位于项目库中,我将其包含在构建路径中 这是我的代码: // JDBC driver

我正在尝试用java创建与musql的连接。 当我使用Main时,它可以正常工作,但当我使用apache时,它会返回错误:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/database_name..
我读了一些看起来很像的问题,这些问题对我很有帮助

我使用JDK8和JDBC5。 JDBC驱动程序位于项目库中,我将其包含在构建路径中 这是我的代码:

 // JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost:3306/program1";

   //  Database credentials
   static final String USER = "user";
   static final String PASS = "pass";
   
   private static Connection conn = null;
   
   
   /*
    * Create connection to the DB in singletone
    * */
   protected static Connection getConnection() throws ClassNotFoundException, SQLException
   {
           if(conn==null)
           {
               try 
               {
                   // Register JDBC driver
                  //Class.forName(JDBC_DRIVER);
                   
                   // Open connection
                   conn = DriverManager.getConnection(DB_URL,USER,PASS);
               } 
               catch ( SQLException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
                   if(conn != null)
                        conn.close();
               }
           }
       
       return conn;
   }
在调试运行行“
conn=DriverManager.getConnection(DB_URL,USER,PASS);
”时,我得到了异常


是什么导致了这个错误?为什么我从main运行它时,它会工作?

您需要下载mysqlConnector,并将其作为库添加到您的项目中


classpath通常这完全取决于你在做什么。Servlet引擎,eclipse,debug,release,
web inf/lib
…我使用Servlet引擎,但在调试中我可以看到Servlet进行了调用,问题出在DriverManager.getConnection中,类路径变量是“C:\Program Files\Java\jdk1.8.0\U 40\jre\lib”,您是否尝试过不推荐的
Class.forName
?还要特别指定servlet引擎类型,并显示它的lib信息(换句话说,从jdbc中缩小范围),我下载了它并将其添加到项目和构建路径中