java - 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 都在同一个项目中。我只是将测试驱动程序用于测试目的。
解决方案
推荐阅读
- javascript - 组合对象以获得一个对象数组
- ios - MKMarkerAnnotationView 不显示标注
- python - PermissionError: [Errno 13] Permission denied: 'C:/Users/PRATHAMESH/' 。尝试通过谷歌驱动器链接下载 pdf
- delphi - 快速找到完全限定的单位名称?
- python - 如何证明这些图片是相同的配置
- c++ - 如何防止在嵌套函数中重复声明 C++ 中的对象?
- linear-equation - 有没有办法用千里马求解三元一阶方程?
- powershell - 网站登录自动化和输出状态
- android - 当另一个应用程序启动/启动时启动/启动 myApp
- javascript - 为什么每次从命令提示符运行 java 脚本文件时都会出现此错误?“参考节点未定义”