首页 > 解决方案 > Eclipse:无法连接到数据库。错误:java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver

问题描述

我知道以前有人问过这个问题,但它不是重复的。我已将 mysql 连接器 jarfile 包含到项目构建路径中(因此对这个先前提出的问题的答案没有帮助)。该连接在使用测试驱动程序调用我的数据库类时有效,但在使用带有 tomcat 的 servlet 时它不起作用。我真的不确定问题是什么。这是我的构造函数的代码,它为 mysql 创建数据库连接:

import java.sql.*;

public class DatabaseManager {
private Connection con;
private Statement st;
private ResultSet rs; 

public DatabaseManager()
{
    System.out.println("Connecting to database");
    try {
        Class.forName("com.mysql.cj.jdbc.Driver");
        con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase","username","password");
        st=con.createStatement();
    }
    catch(Exception e)
    {
        System.out.println("Cannot connect to database. Error: " + e);
        return;
    }
 System.out.println("Connection Successful");
}
}

我在测试驱动程序中调用这个构造函数(使用主方法入口点)并且连接有效(没有抛出异常)。但是,当尝试在 servlet doPost() 方法(使用 servlet 类 api)中调用同一个类时,我得到上面标记的错误。servlet 代码很简单:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
DatabaseManager manager = new DatabaseManager();
}

测试驱动程序、servlet 和 DBManager 都在同一个项目中。我只是将测试驱动程序用于测试目的。

标签: javamysqltomcatservlets

解决方案


推荐阅读