您的位置:首页 > 编程语言 > Java开发

Java Web项目异常问题——java.lang.ClassNotFoundException: com.mysql.jdbc:Driver

2018-03-22 15:38 1076 查看
Java Web项目时报出如下错误:

java.lang.ClassNotFoundException: com.mysql.jdbc:Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at mail.main(mail.java:114)

数据库连接的主要代码:
// JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
// 数据库的用户名与密码,需要根据自己的设置
static final String USERNAME = "root";
static final String PASSWORD = "123456";
Connection conn = null;

try{
// 注册 JDBC 驱动器
Class.forName("com.mysql.jdbc.Driver");
// 打开一个连接
conn = DriverManager.getConnection(DB_URL, USERNAME, PASSWORD);
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}
报出这个错误之后,我首先检查了一下自己的项目中是否有mysql-connector-java-x.x.xx-bin.jar,发现项目中是有这个包的,

并且在一个测试类的main方法里测试是可以正常连接到数据库的,但是切到时Web项目运行时,还是会报这个错误。

总结下原因:

在 java 项目中,只需要在 Eclipse 中引入 mysql-connector-java-5.1.39-bin.jar 就可以运行java项目。所以你如果只是在main方法里测试是可以正常连接数据库的。
但是在 Eclipse web 项目中,当执行 Class.forName("com.mysql.jdbc.Driver");时 不会去查找驱动的。
所以一个简单的 JDBC + Servlet 实现的小Web项目,我们可以把 mysql-connector-java-5.1.39-bin.jar 拷贝到 tomcat 下 lib 目录。
参考文章:

Servlet 数据库访问

http://www.runoob.com/servlet/servlet-database-access.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐