Tomcat 在通过 Maven 导入后未找到 JDBC 驱动程序

Tomcat does not find JDBC Driver after importing via Maven

我是 JSP 的新手,所以我正在尝试一下。我在 Intellij 中创建了一个 Maven 项目,并在 pom.xml 中导入了我需要的依赖项,即 mysql-connectorservlet-api:

<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.20</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

我有一个 JSP 文件,它使用相应的驱动程序访问本地 MySQL 数据库。

<%
    String url = "jdbc:mysql://localhost:80/DemoJSP";
    String username = "root";
    String password = "";

    Class.forName("com.mysql.jdbc.Driver");
    Connection connection = DriverManager.getConnection(url, username, password);
%>

但是,当我 运行 Tomcat 服务器时,我得到 HTTP Status 500。原因是Class.forName("...")行,所以抛出的异常是java.lang.ClassNotFoundException: com.mysql.jdbc.Driver。我已经尝试了数千次 Maven 重新导入,但没有任何帮助。有什么我想念的吗?

P.S.:类似 or Where do I have to place the JDBC driver for Tomcat's connection pool?的问题没有解决我的问题。

在 url 中尝试 localhost 端口 3306 而不是 80.

如果您遇到时区错误,请使用此字符串:


String url = "jdbc:mysql://127.0.0.1:3306/DemoJSP";
String timezone = "?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
String username = "root";
String password = "";
Connection connection = DriverManager.getConnection(url + timezone, username, password);