Tomcat 在通过 Maven 导入后未找到 JDBC 驱动程序
Tomcat does not find JDBC Driver after importing via Maven
我是 JSP 的新手,所以我正在尝试一下。我在 Intellij 中创建了一个 Maven 项目,并在 pom.xml
中导入了我需要的依赖项,即 mysql-connector
和 servlet-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);
我是 JSP 的新手,所以我正在尝试一下。我在 Intellij 中创建了一个 Maven 项目,并在 pom.xml
中导入了我需要的依赖项,即 mysql-connector
和 servlet-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.:类似
在 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);