类未找到异常 com.mysql.jdbc.driver [重复]
Posted
技术标签:
【中文标题】类未找到异常 com.mysql.jdbc.driver [重复]【英文标题】:class not found exception com.mysql.jdbc.driver [duplicate] 【发布时间】:2013-04-06 20:47:28 【问题描述】:我的项目的文件结构是:
-src
|
-pkg
|
-CoreServlet.java(servlet)
-Main.java
-Core.java(jdbc code is here)
core.java 类:
package com.pkg;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
public class core
private Connection connect = null;
private Statement statement =null;
private PreparedStatement preparedStatement = null;
private ResultSet resultSet = null;
String qwerty;
public void readDataBase()
String userName = "ansh";
String password = "12345";
try
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager.getConnection("jdbc:mysql://localhost/glbitm", userName,password);
statement = connect.createStatement();
resultSet = statement.executeQuery("select * from teachers");
resultSet.next();
qwerty = resultSet.getString(1);
catch (Exception e)
System.out.println(e);
coreServlet.java 类:
package com.pkg;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class coreServlet extends HttpServlet
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException
core dao = new core();
dao.readDataBase();
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head><title>Hello World</title></head>");
pw.println("<div>"+dao.qwerty+"</div>");
pw.println("<body>");
pw.println("<h1>Hello World</h1>");
pw.println("</body></html>");
当我在我的 tomcat 服务器中的 coreServlet.java
中访问 dao.qwerty
时。我得到class not found exception com.mysql.jdbc.driver
并且dao.qwerty
的值被打印为空。我哪里做错了?
【问题讨论】:
您的库中似乎没有 jdbc 驱动程序 @Mohammad 我的项目目录中有那个... 您的服务器需要 JConnector 驱动程序WEB-INF/lib
是您放置库的位置,该文件是否已经存在。
@MohammadAdil 是的,文件结构完全相同...
【参考方案1】:
你还没有在你的路径中设置mysql-connector
。首先设置它,然后一切都会完成
JConnector
是什么?
Java 不知道 SQL,因此您要使用 sql 驱动程序执行的每条语句都将转换为 sql 结构,并且我的 mysql 返回的结果也将转换为 java 可理解的结构。
希望对你有帮助
【讨论】:
反对者?想留下回复吗?【参考方案2】:您需要在类路径中添加 mysql 连接器。
http://mirrors.ibiblio.org/pub/mirrors/maven2/mysql/mysql-connector-java/5.1.4/mysql-connector-java-5.1.4.jar
此连接器 jar 充当数据库和数据流应用程序之间的中介。您可以从 jar 中提取类文件并查看详细信息。
【讨论】:
【参考方案3】:当您的代码尝试执行以下行时,将引发 java.lang.ClassNotFoundException Class.forName("com.mysql.jdbc.Driver").newInstance();
这是一个经过检查的异常,总是需要在 try/catch 中捕获,或者如果 try/catch 未实现,则需要在方法中声明此异常。
此线程中提供了多种解决方案,但根据我的经验,如果您能够使用数据源资源管理器从 eclipse 连接到数据库,那么最可能的原因是“mysql-connector-java-5.1.28-bin .jar" 不会复制到你的 tomcat 的 lib 目录中。
java的mysql连接器可以从http://dev.mysql.com/downloads/connector/j/下载
【讨论】:
以上是关于类未找到异常 com.mysql.jdbc.driver [重复]的主要内容,如果未能解决你的问题,请参考以下文章