Issue
I had added mysql-connector-java-8.0.12.jar from build path in Eclipse Jee. I had also registered that class by adding :
Class.forName("com.mysql.jdbc.Driver");
but still it is giving me this error :
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
This is the code of 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);
}
}
Thanks in advance...
Solution
You need to use com.mysql.cj.jdbc.Driver
instead of com.mysql.jdbc.Driver
while using MySQL connector 8. Please refer the documentation here.
Answered By - Kavitha Karunakaran