Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat和JDBC连接-未找到适合JDBC:mysql的驱动程序_Java_Tomcat_Jdbc - Fatal编程技术网

Java Tomcat和JDBC连接-未找到适合JDBC:mysql的驱动程序

Java Tomcat和JDBC连接-未找到适合JDBC:mysql的驱动程序,java,tomcat,jdbc,Java,Tomcat,Jdbc,我有一个servlet和一个过滤器连接到它。在这个过滤器中,我想做一些数据库方面的事情,但我有一个众所周知的错误“没有找到适合jdbc:mysql的驱动程序”。我过去一直在使用jdbc,这些代码仍然有效。但是当我将连接线从它们复制到我的过滤器时,我得到了错误。我更改了行中的数据库名称 这是我的污点: System.out.println("Filter 2 works"); try (Connection conn = DriverManager.getCo

我有一个servlet和一个过滤器连接到它。在这个过滤器中,我想做一些数据库方面的事情,但我有一个众所周知的错误“没有找到适合jdbc:mysql的驱动程序”。我过去一直在使用jdbc,这些代码仍然有效。但是当我将连接线从它们复制到我的过滤器时,我得到了错误。我更改了行中的数据库名称

这是我的污点:

System.out.println("Filter 2 works");

        try (Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/filters?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC", "root", "password");
             Statement stat = conn.createStatement()) {

        } catch (SQLException e) {
            e.printStackTrace();
        }
在“try”行中,我有一个错误。我尝试了不使用“useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC”的方式,但仍然不起作用。这是模块设置->库的屏幕。JDBC被添加到这里:


这是我在一起使用Tomcat和JDBC时的第一个项目。在尝试任何操作之前,我是否应该以某种方式连接它们?

嘿,您忘记在getConnection行上方的
Class.forName(“com.mysql.jdbc.driver”)
中注册驱动程序。@Ashish我以前从未这样做过,我的代码很好。现在我有了上面带有Class.forName(“com.mysql.jdbc.Driver”)的try…catch块,现在它在Class.forName(“com.mysql.jdbc.Driver”)行中给出了相同的错误+ClassNotFoundException,这意味着类路径上没有mysql连接器/jdbc驱动程序。另外,在web应用程序中使用
DriverManager
通常是个坏主意。为了获得更好的性能,请使用连接池(例如Tomcat中内置的连接池,或HikariCP之类的第三方库)。@Ashish-
Class.forName()
is。mysql-connector-java-8.0.20.jar就是这样一个驱动程序(我相信它实际上是JDBC4.2)。现在您可能遇到的大多数驱动程序都是JDBC4.x。