Netbeans IDE中未找到驱动程序。

6
我已经阅读了所有可能的答案此处此处以及此处。我相信我的问题出在其他地方,这对其他人也可能有用。
我有一个Java Servlet,在Eclipse IDE中执行良好,但后来我将项目转移到了Netbeans。我在库中导入了MySQL JDBC驱动程序,并使用以下代码进行连接:
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/bolsms", "root", "@#$5869@#$");

但是我遇到了这个错误 No suitable driver found for jdbc:mysql://localhost:3306/bolsms

我已经寻找答案两天,希望社区能够理解我没有重复提问。

编辑 1:

Libraries 文件夹中的 MySQL JDBC 驱动程序


2
你需要将驱动程序添加到应用服务器库路径中并重新启动应用服务器。你使用的是哪一个?GlassFish吗? - perissf
@perissf 我正在使用 Apache Tomcat 7.0.22.0。正如我所写的,我已将驱动程序添加到“Libraries”文件夹中。让我重新启动一下,然后再与您联系。 - Gaurav Agarwal
@perissf 我重新启动了Netbeans,但仍然无法工作。 - Gaurav Agarwal
你展示了应用程序的lib文件夹。Tomcat的lib文件夹是另一回事。而且,在你完成之后,你需要重启Tomcat。重启NetBeans是另一回事。 - perissf
@perissf 重启Tomcat也无济于事。 - Gaurav Agarwal
4个回答

6
当您在Tomcat中使用时,必须显式加载jdbc驱动程序。我在Tomcat的servlet中遇到了同样的错误。添加 Class.forName("com.mysql.jdbc.Driver"); 可以解决它。
另一件事是将jar文件放入您的WEB-INF/lib中,然后在项目属性中,在“Libraries”中添加您存储在WEB-INF/lib中的JAR。
要创建lib目录,请右键单击WEB-INF,选择New -> Folder...。如果您看不到Folder,请选择Other,然后在新窗口中再次选择OtherFolder
有关Tomcat / JDBC问题的更多信息,请参见此处

我尝试使用Class.forName("com.mysql.jdbc.Driver")加载类,但它不起作用。此外,我引用自Murach的Java Servlet&JSP(第二版)第445页使用JDBC 4.0,数据库驱动程序会自动加载。这个功能被称为自动驱动程序加载。 Netbeans中没有WEB-INF / lib文件夹。我重申问题特定于Netbeans IDE,它在Eclipse上运行良好。 - Gaurav Agarwal
2
再次强调,JDBC会自动加载,但在Tomcat中并非总是如此。我的解决方案适用于Netbeans(我不使用Eclipse)。如果您创建了一个Tomcat项目,那么您肯定有一个WEB-INF目录。请自行创建lib目录并添加jar文件。这就是我在Netbean上的做法。请参阅此链接https://issues.apache.org/bugzilla/show_bug.cgi?id=48214。 - alain.janinm
1
谢谢。如果您能在答案中包括创建lib文件夹和错误链接,我将不胜感激。 - Gaurav Agarwal

1
请在您的代码中包含以下代码段:
Class.forName("com.mysql.jdbc.Driver");//load driver
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/bolsms", "root", "@#$5869@#$");//connect to the database

1
第二行代码已经存在,而在JDBC 4中(它是Java 6的一部分),不需要加载驱动程序。 - Gaurav Agarwal

0

请检查您的mysql-connector-java-(version)-bin.jar是否在以下位置:

C:\Murach\Servlets and JSP\jsp2_allfiles\servlet_jsp\netbeans\ex_starts\ch14sqlGateway\build\web\WEB-INF\lib

同时,请检查它是否在以下位置:

C:\Murach\Servlets and JSP\jsp2_allfiles\servlet_jsp\netbeans\ex_starts\ch14sqlGateway\web\WEB-INF\lib

如果没有,请将您的mysql驱动程序jar粘贴到这些目录中,然后查看是否有效。

之后,请确保您明确加载了驱动程序:

Class.forName("com.mysql.jdbc.Driver");


0

你也可以使用jsp标签 <%@page import='com.mysql.jdbc.*'%> 或者通常的方式 Class.forName("com.mysql.jdbc.Driver").newInstance(); 在jsp页面的try catch中导入它。祝好运


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接