1

我的项目的文件结构是:

         -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.qwertycoreServlet.java。我得到class not found exception com.mysql.jdbc.driver并且值dao.qwerty被打印为空。我在哪里做错了?

4

3 回答 3

3

您需要在类路径中添加 mysql 连接器。

http://mirrors.ibiblio.org/pub/mirrors/maven2/mysql/mysql-connector-java/5.1.4/mysql-connector-java-5.1.4.jar

此连接器 jar 充当数据库和数据流应用程序之间的中介。您可以从 jar 中提取类文件并查看详细信息。

于 2013-04-19T18:28:38.467 回答
2

当您的代码尝试执行以下行 Class.forName("com.mysql.jdbc.Driver").newInstance(); 时抛出 java.lang.ClassNotFoundException

这是一个经过检查的异常,总是需要在 try/catch 中捕获,或者如果 try/catch 没有实现,则需要在方法中声明此异常。

该线程中提供了多种解决方案,但根据我的经验,如果您能够使用数据源资源管理器从 eclipse 连接到数据库,那么最可能的原因是“mysql-connector-java-5.1.28-bin.jar”不会复制到您的tomcat的lib目录中。

java的mysql连接器可以从http://dev.mysql.com/downloads/connector/j/下载

于 2014-01-09T19:28:45.320 回答
1

你还没有mysql-connector在你的路径中设置。首先设置它,其他一切都会完成

是什么JConnector

Java 不知道 SQL,因此您要使用 sql 驱动程序执行的每条语句都将转换为 sql 结构,并且 my mysql 返回的结果也将转换为 java 可理解的结构。

希望能帮助到你

于 2013-04-19T18:13:45.273 回答