我的项目的文件结构是:
-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服务器中访问dao.qwerty
中的coreServlet.java
时。我收到class not found exception com.mysql.jdbc.driver
,dao.qwerty
的值打印为空。我在哪里做错了?
答案 0 :(得分:3)
您需要在类路径中添加mysql连接器。
此连接器jar充当数据库和数据流应用程序之间的中介。您可以从jar中提取类文件并查看详细信息。
答案 1 :(得分:2)
当您的代码尝试执行以下行时,抛出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连接器答案 2 :(得分:1)
您尚未在路径中设置mysql-connector
。请先完成其他所有工作
什么是
JConnector
?
Java不知道SQL所以你想要使用sql驱动程序执行的每个语句都将转换为sql构造,并且我的mysql返回的结果也会转换为java可理解的构造。
希望有所帮助