java - 将 'java.lang.ClassNotFoundException: com.mysql.jdbc.Driver' 添加到构建路径并使用 Class.forName() 注册后如何修复它;

标签 java mysql http servlets

我已从 Eclipse Jee 中的构建路径添加了 mysql-connector-java-8.0.12.jar。我 还通过添加以下内容注册了该类:

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

但它仍然给我这个错误:

java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

这是Student.java Servlet的代码。

import javax.servlet.*;
import javax.servlet.http.*;

import java.io.*;
import java.sql.*;

public class Student extends HttpServlet
{

    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
    {
        // business logic
        response.setContentType("text/html");
        PrintWriter out=response.getWriter();

        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sem5", "root", "root");

            String sql = "insert into p4 values(?,?,?,?,?,?,?)";
            PreparedStatement ps = con.prepareStatement(sql);

            String enroll = request.getParameter("enroll");
            String username = request.getParameter("username");
            String password = request.getParameter("password");
            String gender = request.getParameter("gender");
            String email = request.getParameter("email");
            String mobile = request.getParameter("mobile");
            String address = request.getParameter("address");


            ps.setString(1, enroll.toString());
            ps.setString(2, username.toString());
            ps.setString(3, password.toString());
            ps.setString(4, gender.toString());
            ps.setString(5, email.toString());
            ps.setString(6, mobile.toString());
            ps.setString(3, address.toString());

            ps.executeUpdate();

            ps.close();
        }
        catch(Exception ex) {
            System.out.println("Exception : "+ ex);
            out.println("Error");
        }
    }
    public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException
    {
        doGet(request,response);
    }
}

提前致谢...

最佳答案

使用 MySQL 连接器 8 时,需要使用 com.mysql.cj.jdbc.Driver 而不是 com.mysql.jdbc.Driver。请参阅文档 here

关于java - 将 'java.lang.ClassNotFoundException: com.mysql.jdbc.Driver' 添加到构建路径并使用 Class.forName() 注册后如何修复它;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57335885/

相关文章:

java - 如何在本地局域网上找到 'shutdown' 系统的 MAC 地址(可能吗?)

Python MySQL(MariaDB) 查询 FROM_UNIXTIME 我得到计数​​而不是结果(显示行 0 - 0 )

api - 原始.M数组字符串?以相同的结构响应http请求

linux - 从 TCP 连接获取 HTTP header

javascript - $.ajax() 调用,仅在更新时

java - SQL select 语句无法正确打印

java - android 无法加载本地json数据

java - 类似于 a^b 的快速函数

php - 用 PHP 访问 MySQL 字段的 Comments

php - Angular - 存储复选框值并显示它们