簡體   English   中英

嘗試從 MySql 中的數據庫檢索數據時出現“java.lang.ClassNotFoundException: com.mysql.jdbc.Driver”錯誤

[英]I am getting " java.lang.ClassNotFoundException: com.mysql.jdbc.Driver " error while trying to retrieve data from the database in MySql

    package com.io;

    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    /**
     * Servlet implementation class My
     */
    @WebServlet("/My")
    public class My extends HttpServlet {
        private static final long serialVersionUID = 1L;


        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            Statement stmt=null;
            Connection conn=null;

            // JDBC driver name and database URL
              final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
              final String DB_URL = "jdbc:mysql://localhost:3306/testdb";

          //  Database credentials
              final String USER = "root";
              final String PASS = "root";

           // Set response content type
              response.setContentType("text/html");
              PrintWriter out = response.getWriter();
              String title = "Database Result";
              String docType =
                "<!doctype html public \"-//w3c//dtd html 4.0 " +
                 "transitional//en\">\n";
                 out.println(docType +
                 "<html>\n" +
                 "<head><title>" + title + "</title></head>\n" +
                 "<body bgcolor=\"#f0f0f0\">\n" +
                 "<h1 align=\"center\">" + title + "</h1>\n");

                 try{
                     // Register JDBC driver
                     //Class.forName("com.mysql.jdbc.Driver");

                     // Open a connection
                     conn = DriverManager.getConnection(DB_URL,USER,PASS);

                     // Execute SQL query
                     stmt = conn.createStatement();
                     String sql;
                     sql = "select * from products";
                     ResultSet rs = stmt.executeQuery(sql);

                     // Extract data from result set
                        while(rs.next())
                        {
                           //Retrieve by column name
                               String id1  = rs.getString("id");
                               String name1 = rs.getString("name");
                               String description1 = rs.getString("description");
                               float price1 = rs.getFloat("price");

                           //Display values
                               out.println("ID: " + id1 + "<br>");
                               out.println(", NAME: " + name1 + "<br>");
                               out.println(", DESCRIPTION: " + description1 + "<br>");
                               out.println(", PRICE: " + price1 + "<br>");
                        }
                        out.println("</body></html>");

                     // Clean-up environment
                        rs.close();
                        stmt.close();
                        conn.close();

                    }

                 catch(SQLException se){
                     //Handle errors for JDBC
                     se.printStackTrace();
                  }
                 catch(Exception e){
                     //Handle errors for Class.forName
                     e.printStackTrace();
                  }
                 finally{
                     //finally block used to close resources
                     try
                     {
                        if(stmt!=null)
                           stmt.close();
                     }

                     catch(SQLException se2){
                     }// nothing we can do

                     try{
                        if(conn!=null)
                        conn.close();
                     }

                     catch(SQLException se){
                        se.printStackTrace();
                     }//end finally try
                  } //end try
        }

    }

大家好,我在嘗試從 Mysql 數據庫中檢索值時感到震驚。我使用 Tomcat 我已經通過構建路徑插入了 mysql jar 文件,但存在同樣的問題。請幫助。 大家好,我在嘗試從 Mysql 數據庫中檢索值時感到震驚。我使用 Tomcat 我已經通過構建路徑插入了 mysql jar 文件,但存在同樣的問題。請幫助。

嘗試將您的 jar 直接復制到 $tomcat_path/lib 文件夾,而不是添加到構建路徑。 然后重新啟動您的tomcat並重試。

確保您添加的是mysql-connector-java-5.1.x-bin.jar而不是 mysql-connector-java-5.1.x.jar。 嘗試這個。

要么你有一個CLASSPATH 問題,要么你需要加載驅動程序:

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

我希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM