Java ClassNotFoundException/mysql jdbc驱动程序
我已经创建了一个登录和注册页面,但是当单击创建帐户按钮时,数据没有存储到数据库中。它给出了一个例外的说法 java.lang.ClassNotFoundException:com.mysql.jdbc.Driver“ 我已经在我的项目中添加了mysql jar文件Java ClassNotFoundException/mysql jdbc驱动程序,java,jdbc,Java,Jdbc,我已经创建了一个登录和注册页面,但是当单击创建帐户按钮时,数据没有存储到数据库中。它给出了一个例外的说法 java.lang.ClassNotFoundException:com.mysql.jdbc.Driver“ 我已经在我的项目中添加了mysql jar文件 import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; im
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/loginandregister")
public class loginandregister extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String options=request.getParameter("button");
System.out.println(options);
PrintWriter pw=response.getWriter();
if(options.equals("LOGIN")) {
String username=request.getParameter("loginid");
String password=request.getParameter("loginpassword");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/loginclass","root","root");
PreparedStatement login=conn.prepareStatement("select * from user_info where username=? and userpassword=?");
login.setString(1, username);
login.setString(2, password);
ResultSet rs=login.executeQuery();
if(rs.next()) {
pw.println("Welcome");
pw.println("Welcome"+username);
}else {
pw.println("Error");
}
}
catch (Exception e) {
e.printStackTrace();
}
}
if(options.equals("CREATE ACCOUNT")) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/loginclass","root","root");
PreparedStatement register=conn.prepareStatement("insert into user_info values (?,?,?,?,?,?)");
String firstname=request.getParameter("fname");
String lastname=request.getParameter("lname");
String email=request.getParameter("email");
String phone=request.getParameter("phone");
String uname=request.getParameter("uname");
String pass=request.getParameter("password");
register.setString(1, firstname);
register.setString(2, lastname);
register.setString(3, email);
register.setString(4, phone);
register.setString(5, uname);
register.setString(6, pass);
register.executeUpdate();
}// try
catch (Exception e) {
e.printStackTrace();
}//catch
}// if create acc.
}// dopost
}//class
我认为您需要将
jar
添加到tomcat
目录的lib
文件夹中。在那里添加jar
,然后重新启动服务器
这可能对您有帮助。尝试清理并构建您的项目。您使用的是哪台服务器?我确实清理了我的项目……没有任何变化……我使用的是tomcat server@hirenYou,11年来您都不需要这一行代码,但您确实需要相关的JAR位于类路径上。@EJP这不完全正确:如果部署了JDBC驱动程序,则不需要与web应用程序(它在战争中)一起,则需要显式加载。自动加载驱动程序仅在驱动程序位于初始(系统)类路径上时有效。如果驱动程序仅位于上下文类路径上,则不起作用。它起作用了……非常感谢。很高兴知道。如果有帮助,请接受答案。如果可能,请进行投票。谢谢。