java.lang.ClassNotFoundException:位于jdbc.DatabaseAccess.doGet(DatabaseAccess.java:25)

java.lang.ClassNotFoundException:位于jdbc.DatabaseAccess.doGet(DatabaseAccess.java:25),java,mysql,servlets,jdbc,Java,Mysql,Servlets,Jdbc,我正在尝试使用servlet和jdbc连接到MySQL数据库的简单登录身份验证。在tomcat服务器上执行后,出现以下错误: 我正在共享所有文件的内容: DatabaseAccess.java package jdbc; import java.io.*; import javax.servlet.*; import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; import java.sql.*; @WebS

我正在尝试使用servlet和jdbc连接到MySQL数据库的简单登录身份验证。在tomcat服务器上执行后,出现以下错误:

我正在共享所有文件的内容: DatabaseAccess.java

package jdbc;
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.sql.*;
@WebServlet("/DatabaseAccess") 
public class DatabaseAccess extends HttpServlet
{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException 
    {
            resp.setContentType("text/html");
            PrintWriter out = resp.getWriter();
            String title = "Database connect";
            String docType ="<!doctype html>\n";
            out.println(docType +"<html>\n" +"<head><title>" + title + "</title></head>\n" +"<body>\n" +
                 "<h1 align=\"center\">" + title + "</h1>\n");
            try 
            {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","root");  
            Statement stmt=con.createStatement();  
            ResultSet rs=stmt.executeQuery("select * from student");
            while(rs.next()){
                int id  = rs.getInt("id");
                int marks = rs.getInt("marks");
                String name = rs.getString("name");
                out.println("ID: " + id + "<br>");
                out.println(", name: " + name + "<br>");
                out.println(", marks: " + marks + "<br>");
             }
             out.println("</body></html>");
             rs.close();
             stmt.close();
             con.close();
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }  

    }

} 
Xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>servelt</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>

   <servlet>
     <servlet-name>DatabaseAccess</servlet-name>
     <servlet-class>jdbc.DatabaseAccess</servlet-class>
 </servlet>
 <servlet-mapping>
     <servlet-name>DatabaseAccess</servlet-name>
     <url-pattern>/DatabaseAccess</url-pattern>
  </servlet-mapping>


</web-app>

请帮我解决这个问题。

将mysql连接器jar添加到要由tomcat加载的WEB-INF\lib文件夹中

异常是针对java.lang.ClassNotFoundException:将相应的jar添加到lib文件夹或类路径中

您的源代码是正确的。异常显示,mysql连接器不在您的库中。您必须将mysql jdbc连接器添加到应用程序类路径和WEB-INF/lib中。如果仅添加类路径并单独运行任何方法,则不会发生异常,但如果调用此方法,将从servlet或jsp中得到错误。对于解决方案,您还必须将mysql jdbc连接器jar添加到WEB-INF/lib中

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>servelt</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>

   <servlet>
     <servlet-name>DatabaseAccess</servlet-name>
     <servlet-class>jdbc.DatabaseAccess</servlet-class>
 </servlet>
 <servlet-mapping>
     <servlet-name>DatabaseAccess</servlet-name>
     <url-pattern>/DatabaseAccess</url-pattern>
  </servlet-mapping>


</web-app>