Jakarta servlet servletexception ошибка создания экземпляра класса сервлета

Есть некий сервлет

package com.example.DBProject;

import java.io.*;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {


    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        response.setContentType("text/html");

        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<h1> first servlet</h1>");
        out.println("</html>");
    }

}

И web.xml

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>com.example.DBProject.HelloServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

</web-app>

При запуске сервера и переходе по ссылке к /hello (http://localhost:8080/hello) появляется ошибка

HTTP Status 500 – Internal Server Error
Type Exception Report

Message Ошибка создания экземпляра класса сервлета [com.example.DBProject.HelloServlet]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

jakarta.servlet.ServletException: Ошибка создания экземпляра класса сервлета [com.example.DBProject.HelloServlet]
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:832)
Root Cause

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
    java.base/java.lang.ClassLoader.defineClass1(Native Method)
    java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
    org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2470)
    org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:866)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1370)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:832)
Root Cause

java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1401)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
    java.base/java.lang.ClassLoader.defineClass1(Native Method)
    java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
    org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2470)
    org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:866)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1370)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:832)
Note The full stack trace of the root cause is available in the server logs.

Apache Tomcat/10.0.5

Структура проекта, если это играет роль
введите сюда описание изображения

P.S. В pom.xml нужные dependencies есть

I just started learning Hibernate and Servlets.
I have a form (name, email), I fill that fields and the request goes to the server.
Then I fetch the data from server and print them.
This WORKS CORRECTLY!

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String name = request.getParameter("userName");
    String email = request.getParameter("email");
    String ip = request.getRemoteAddr();

    response.getWriter().println("<html>");
    response.getWriter().println("<head>");
    response.getWriter().println("<title>This is a response</title>");
    response.getWriter().println("<head>");
    response.getWriter().println("<body>");

    response.getWriter().println("<br>Your name is: " + name);
    response.getWriter().println("<br>Your email is: " + email);
    response.getWriter().println("<br>Your IP address is: " + ip);

    response.getWriter().println("</body>");
    response.getWriter().println("</html>");

}

Also I have a DB (db and .xml files are properly configured, ping is succesful, mapping is written) and Hibernate code:

public static void main(String[] args) {
    AnnotationConfiguration config = new AnnotationConfiguration();
    config.configure("hibernate.cfg.xml");

    SessionFactory factory = config.buildSessionFactory();
    Session session = factory.openSession();
    session.beginTransaction();

    Data data = new Data();
    data.setUserName(name);
    data.setUserEmail(email);
    session.save(data);

    session.getTransaction().commit();
    session.close();
}

Also I have a Data class:

@Entity
public class Data {

    @Id
    @GeneratedValue
    private int Id;
    private String userName;
    private String userEmail;

//getteres, setters...
}

But if I put this code into the Servlet, I get an HTTP error 500. The error message as I can determine it is this:

javax.servlet.ServletException: Error instantiating servlet class org.server.db.test.ServletExample org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11P‌​rotocol.java:602) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) java.lang.Thread.run(Thread.java:722)

How can I put my info from the server to the database?

my web.xml file:

<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Example02</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>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>ServletExample</display-name>
    <servlet-name>ServletExample</servlet-name>
    <servlet-class>org.server.db.test.ServletExample</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ServletExample</servlet-name>
    <url-pattern>/servlet1</url-pattern>
  </servlet-mapping>
</web-app>

hibernate cfg file:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <!-- Database connection settings -->
        <property name="connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.url">jdbc:postgresql://localhost:5432/db</property>
        <property name="connection.username">postgres</property>
        <property name="connection.password">***</property>

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">2</property>

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>

        <!-- Enable Hibernate's current session context -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create</property>

         <mapping class="org.server.db.test.Data" />
         <mapping class="org.server.db.test.ServletExample" />

    </session-factory>

</hibernate-configuration>

#java #xml #servlets

Вопрос:

То, что я пытаюсь сделать, — это создать простое веб-приложение, в котором учитель может записывать оценки учащихся из файлов Excel в базу данных

Я пытался очистить и перестроить проект, очистить рабочий путь tomcat, но, похоже, ничего не получилось

Вот мой код сервлета, который вызывает ошибку

 @WebServlet(name = "NhapFileExcelServlet", urlPatterns = {"/nhapFileExcelServlet"})
public class NhapFileExcelServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
 * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
 * methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, ParseException {
    Part filePart = request.getPart("excel");
    InputStream inputStream = filePart.getInputStream();
    String fileName = filePart.getSubmittedFileName();
    if(fileName.endsWith(".xls") || fileName.endsWith(".xlsx")) {
        // Lấy file excel upload về server
        String uploadFileDirectory = "UsersthanhhieuDesktoptest"   fileName;
        File fileToSave = new File(uploadFileDirectory);
        Files.copy(inputStream, fileToSave.toPath(), StandardCopyOption.REPLACE_EXISTING);
        request.setAttribute("isValid", Boolean.TRUE);
        ExcelController excelController = new ExcelController(uploadFileDirectory);
        excelController.readExcel();
        ArrayList<SinhVien> dsSinhVien = excelController.getDsSinhVien();
        ArrayList<Diem> dsDiem = excelController.getDsDiem();
        request.setAttribute("dsSinhVien", dsSinhVien);
        request.setAttribute("dsDiem", dsDiem);
    }
    else {
        request.setAttribute("isValid", Boolean.FALSE);
    }
    
    //Chuyển request và response sang GDdiem.jsp
    String url = "/GDdiem.jsp";
    RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
    System.out.println("Ma lop gui sang servlet: "   request.getParameter("maLop"));
    dispatcher.forward(request, response);
}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the   sign on the left to edit the code.">
/**
 * Handles the HTTP <code>GET</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, FileNotFoundException {
    try {
        processRequest(request, response);
    } catch (ParseException ex) {
        Logger.getLogger(NhapFileExcelServlet.class.getName()).log(Level.SEVERE, null, ex);
    }
}

/**
 * Handles the HTTP <code>POST</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException, FileNotFoundException {
    try {
        processRequest(request, response);
    } catch (ParseException ex) {
        Logger.getLogger(NhapFileExcelServlet.class.getName()).log(Level.SEVERE, null, ex);
    }
}

/**
 * Returns a short description of the servlet.
 *
 * @return a String containing servlet description
 */
@Override
public String getServletInfo() {
    return "Short description";
}// </editor-fold>
}
 

Та часть, которая будет вызывать сервлет

 <div style = "margin: auto">
            <form action="nhapFileExcelServlet" method = "post" enctype="multipart/form-data">
                <input type="hidden" id="lopID" name="maLop" value= <%= maLop %> />
                <input type="hidden" id="monID" name="maMon" value= <%= maMon %> />
                <label for="fileID">Chọn file Excel danh sách điểm:</label>
                <input type="file" id="fileID" accept=".xls, .xlsx" name="excel"><br>
                <button type="submit">Nhập</button>
            </form>
        </div>
 

Мой xml-файл

 <?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <servlet>
        <servlet-name>NhapFileExcelServlet</servlet-name>
        <servlet-class>servlet.NhapFileExcelServlet</servlet-class>
        <multipart-config/>
    </servlet>
    <servlet>
        <servlet-name>TinhDiemServlet</servlet-name>
        <servlet-class>servlet.TinhDiemServlet</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>LuuDiemLopServlet</servlet-name>
        <servlet-class>servlet.LuuDiemLopServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>NhapFileExcelServlet</servlet-name>
        <url-pattern>/nhapFileExcelServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>TinhDiemServlet</servlet-name>
        <url-pattern>/tinhDiemServlet</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>LuuDiemLopServlet</servlet-name>
        <url-pattern>/luuDiemLopServlet</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <page-encoding>UTF-8</page-encoding>
        </jsp-property-group>
    </jsp-config>
</web-app>
 

И структура моего проекта

Это трассировка стека

 jakarta.servlet.ServletException: Error instantiating servlet class [servlet.NhapFileExcelServlet]
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:835)
cause mère

java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
    java.base/java.lang.ClassLoader.defineClass1(Native Method)
    java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
    org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2470)
    org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:866)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1370)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:835)
cause mère

java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1401)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
    java.base/java.lang.ClassLoader.defineClass1(Native Method)
    java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
    java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
    org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2470)
    org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:866)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1370)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:835)
 

Любой совет приветствуется

Комментарии:

1. Приложение пытается использовать класс javax.servlet.http. HttpServlet, но он не может его найти. Этот класс можно найти в servlet-api-x.x.jar. Попробуйте добавить эту банку в свой путь к классу.

2. Я не знаю, правильно ли я это сделал, но я добавил это в зависимости от своего проекта и все еще не работает

Ответ №1:

NVM У меня все получилось

Оказывается, мне нужно не только импортировать файлы jar, но и указать зависимость в pom.xml потому что IDE не делает это автоматически

Комментарии:

1. да, это подразумевается, если вы используете инструменты сборки maven или gradle.

I created simple servlet and deployed it to tomcat server but I got the following error: HTTP Status 500 - Error instantiating servlet class example.webApp
Screenshot :

enter image description here

webApp.java:

package example;

import java.io.IOException;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class webApp extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
            throws ServletException, IOException {
        resp.getWriter().println("Testing tomcat") ;
    }
}

web.xml :

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <servlet> 
    <servlet-name>Test</servlet-name>
    <servlet-class>example.webApp</servlet-class>
  </servlet>
  <servlet-mapping> 
    <servlet-name>Test</servlet-name>
    <url-pattern>/test</url-pattern>
  </servlet-mapping>

  <display-name>test</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>
  </welcome-file-list>
</web-app>

When I write localhost:8080/test/test to the Eclipse Browser I get upper above. If I enter localhost:8080/test/test again, I get this error:http://i.hizliresim.com/YBYE4z.png

I am confused. Can you help me? What is wrong?
Sorry to give picture links because I couldn’t update directly to this website.

The first picture’s text is :

type Exception report

message Error instantiating servlet class example.webApp

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Error instantiating servlet class example.webApp
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)


root cause
java.lang.ClassNotFoundException: example.webApp
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.24 logs.

I created simple servlet and deployed it to tomcat server but I got the following error: HTTP Status 500 - Error instantiating servlet class example.webApp
Screenshot :

enter image description here

webApp.java:

package example;

import java.io.IOException;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class webApp extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
            throws ServletException, IOException {
        resp.getWriter().println("Testing tomcat") ;
    }
}

web.xml :

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <servlet> 
    <servlet-name>Test</servlet-name>
    <servlet-class>example.webApp</servlet-class>
  </servlet>
  <servlet-mapping> 
    <servlet-name>Test</servlet-name>
    <url-pattern>/test</url-pattern>
  </servlet-mapping>

  <display-name>test</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>
  </welcome-file-list>
</web-app>

When I write localhost:8080/test/test to the Eclipse Browser I get upper above. If I enter localhost:8080/test/test again, I get this error:http://i.hizliresim.com/YBYE4z.png

I am confused. Can you help me? What is wrong?
Sorry to give picture links because I couldn’t update directly to this website.

The first picture’s text is :

type Exception report

message Error instantiating servlet class example.webApp

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Error instantiating servlet class example.webApp
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)


root cause
java.lang.ClassNotFoundException: example.webApp
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)

note The full stack trace of the root cause is available in the Apache Tomcat/8.0.24 logs.

I’m using Tomcat8 server and i’m getting following error.

After deployment

Project Explorer

It’s url is http://localhost:8080/WeatherWebApp When i’m submitting the details then it’s giving this error.
Here is WeatherServlet.java class

package org.akshayrahar;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class WeatherServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    WeatherServlet(){

    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("again");
        response.setContentType("text/html");
        PrintWriter out=response.getWriter();
        out.println("akshay rahar");
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    }

}

Here is web.xml file

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee">
  <display-name>WeatherWebApp</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>

  <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>WeatherServlet</servlet-class>
    </servlet>
  <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/CurrentWeather</url-pattern>
    </servlet-mapping>
</web-app>

Here is index.html file too:-

<!DOCTYPE html>
<html>
    <head>
        <title>Weather App</title>
        <link rel="stylesheet" type="text/css" href="stylesheet.css">
        <script >
      function initMap() {
        var input =document.getElementById('pac-input');

        var autocomplete = new google.maps.places.Autocomplete(input);
      }
    </script>
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyACZhmkSaIz436Dt3kHt_cVEYKN-gHzfYo&libraries=places&callback=initMap"async defer></script>
    </head>


    <body>
        <h1>Find weather of any city in the world</h1>
        <h2>Enter City Name</h2>

        <form  id="form" action="CurrentWeather" method="GET">
        <input id="pac-input" type="text" name="cityname">
        </form><br>

        <div class="button1">
        <button type="submit" form="form" value="Submit">Submit</button>
        </div>

    </body>
</html>

I’ve also mentioned stylesheet.css file in comment. Please check it.

Содержание

  1. Error Instantiating Servlet
  2. Error instantiating servlet class
  3. javax.servlet.ServletException: Error instantiating servlet class

Error Instantiating Servlet

I compiled the code using the below line: —
C:>javac -classpath «C:Program FilesApache Software FoundationTomcat 7.0lib
servlet-api.jar» «C:Program FilesApache Software FoundationTomcat 7.0webapp
stutWEB-INFclassescommmfslwebgettime.java»

This servlet compiled without any errors and generated class file also.

This is my web.xml

HTTP Status 500 —
type Exception report
message

description The server encountered an internal error () that prevented it from fulfilling this request.

javax.servlet.ServletException: Error instantiating servlet class com.mmfsl.web.getname
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:281)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1568)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

java.lang.NoClassDefFoundError: com/mmfsl/web/getname (wrong name: getname)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClassCond(Unknown Source)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:281)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1568)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.2 logs.
Apache Tomcat/7.0.2

Can any one help me what it is.

Источник

Error instantiating servlet class

  • Please help me I just can’t find what exactly i’m missing in my code. it’s been three days i’m stuck on it. Please look into it. Also when I first wrote this program it was working and later I was facing issue with get method. i.e post was working but get was not working. Now nothing is working.

    HTTP Status 500 – Internal Server Error
    Type Exception Report

    Message Error instantiating servlet class [com.emandi.loginServlet]

    Description The server encountered an unexpected condition that prevented it from fulfilling the request.

    Exception
    javax.servlet.ServletException: Error instantiating servlet class [com.emandi.loginServlet]

    Root Cause
    java.lang.ClassNotFoundException: com.emandi.loginServlet

  • Dave Tolls wrote: How are you compiling and deploying this?
    Because that error implies the servlet is not being deployed as part of your app.

    Actually, that message can come when there’s an exception thrown by construction code.

    I would like to see a stack trace.

    Blitzlügen — Lies or information broadcast, but when called out the broadcaster does little or nothing is done to correct them, thus allowing those who wish to believe to accept them as truth.

    Lügensturm — A barrage of Blitzlügen fired in such quick succession that it is essentially impossible to correct them all.

    Источник

    javax.servlet.ServletException: Error instantiating servlet class

    I am having a following error when a request is made to my Login servlet.

    description The server encountered an internal error () that prevented it from fulfilling this request.

    javax.servlet.ServletException: Error instantiating servlet class udit.Login
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    java.lang.Thread.run(Thread.java:619)

    java.lang.NoClassDefFoundError: udit/Login (wrong name: Login)
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
    java.lang.ClassLoader.defineClass(ClassLoader.java:616)
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2778)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1139)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1633)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    java.lang.Thread.run(Thread.java:619)

    PLZZ Suggest me what am i doing wrong
    I compiled my servlet sucessfully so problem should not be with coding
    I think that some jar files may be required BUT EVEN IF I DO THEN PLZZZ TEMME WHICH ALL JAR FILES ARE REQUIRED FOR SERVLETS AND JDBC TO WORK PROPERLY. I AM USING TOMCAT (latest). I hav set all the classpaths and other environment variables. PLZZ HELP ME OUT>.

    Источник

    #java #xml #servlets

    Вопрос:

    То, что я пытаюсь сделать, — это создать простое веб-приложение, в котором учитель может записывать оценки учащихся из файлов Excel в базу данных

    Я пытался очистить и перестроить проект, очистить рабочий путь tomcat, но, похоже, ничего не получилось

    Вот мой код сервлета, который вызывает ошибку

     @WebServlet(name = "NhapFileExcelServlet", urlPatterns = {"/nhapFileExcelServlet"})
    public class NhapFileExcelServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, ParseException {
        Part filePart = request.getPart("excel");
        InputStream inputStream = filePart.getInputStream();
        String fileName = filePart.getSubmittedFileName();
        if(fileName.endsWith(".xls") || fileName.endsWith(".xlsx")) {
            // Lấy file excel upload về server
            String uploadFileDirectory = "UsersthanhhieuDesktoptest"   fileName;
            File fileToSave = new File(uploadFileDirectory);
            Files.copy(inputStream, fileToSave.toPath(), StandardCopyOption.REPLACE_EXISTING);
            request.setAttribute("isValid", Boolean.TRUE);
            ExcelController excelController = new ExcelController(uploadFileDirectory);
            excelController.readExcel();
            ArrayList<SinhVien> dsSinhVien = excelController.getDsSinhVien();
            ArrayList<Diem> dsDiem = excelController.getDsDiem();
            request.setAttribute("dsSinhVien", dsSinhVien);
            request.setAttribute("dsDiem", dsDiem);
        }
        else {
            request.setAttribute("isValid", Boolean.FALSE);
        }
        
        //Chuyển request và response sang GDdiem.jsp
        String url = "/GDdiem.jsp";
        RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(url);
        System.out.println("Ma lop gui sang servlet: "   request.getParameter("maLop"));
        dispatcher.forward(request, response);
    }
    
    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the   sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, FileNotFoundException {
        try {
            processRequest(request, response);
        } catch (ParseException ex) {
            Logger.getLogger(NhapFileExcelServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, FileNotFoundException {
        try {
            processRequest(request, response);
        } catch (ParseException ex) {
            Logger.getLogger(NhapFileExcelServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
    }
     

    Та часть, которая будет вызывать сервлет

     <div style = "margin: auto">
                <form action="nhapFileExcelServlet" method = "post" enctype="multipart/form-data">
                    <input type="hidden" id="lopID" name="maLop" value= <%= maLop %> />
                    <input type="hidden" id="monID" name="maMon" value= <%= maMon %> />
                    <label for="fileID">Chọn file Excel danh sách điểm:</label>
                    <input type="file" id="fileID" accept=".xls, .xlsx" name="excel"><br>
                    <button type="submit">Nhập</button>
                </form>
            </div>
     

    Мой xml-файл

     <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
        <servlet>
            <servlet-name>NhapFileExcelServlet</servlet-name>
            <servlet-class>servlet.NhapFileExcelServlet</servlet-class>
            <multipart-config/>
        </servlet>
        <servlet>
            <servlet-name>TinhDiemServlet</servlet-name>
            <servlet-class>servlet.TinhDiemServlet</servlet-class>
        </servlet>
        <servlet>
            <servlet-name>LuuDiemLopServlet</servlet-name>
            <servlet-class>servlet.LuuDiemLopServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>NhapFileExcelServlet</servlet-name>
            <url-pattern>/nhapFileExcelServlet</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>TinhDiemServlet</servlet-name>
            <url-pattern>/tinhDiemServlet</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>LuuDiemLopServlet</servlet-name>
            <url-pattern>/luuDiemLopServlet</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
        <jsp-config>
            <jsp-property-group>
                <url-pattern>*.jsp</url-pattern>
                <page-encoding>UTF-8</page-encoding>
            </jsp-property-group>
        </jsp-config>
    </web-app>
     

    И структура моего проекта

    Это трассировка стека

     jakarta.servlet.ServletException: Error instantiating servlet class [servlet.NhapFileExcelServlet]
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:835)
    cause mère
    
    java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
        java.base/java.lang.ClassLoader.defineClass1(Native Method)
        java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
        java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
        org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2470)
        org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:866)
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1370)
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:835)
    cause mère
    
    java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1401)
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
        java.base/java.lang.ClassLoader.defineClass1(Native Method)
        java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
        java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
        org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2470)
        org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:866)
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1370)
        org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1224)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:353)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:870)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1696)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:835)
     

    Любой совет приветствуется

    Комментарии:

    1. Приложение пытается использовать класс javax.servlet.http. HttpServlet, но он не может его найти. Этот класс можно найти в servlet-api-x.x.jar. Попробуйте добавить эту банку в свой путь к классу.

    2. Я не знаю, правильно ли я это сделал, но я добавил это в зависимости от своего проекта и все еще не работает

    Ответ №1:

    NVM У меня все получилось

    Оказывается, мне нужно не только импортировать файлы jar, но и указать зависимость в pom.xml потому что IDE не делает это автоматически

    Комментарии:

    1. да, это подразумевается, если вы используете инструменты сборки maven или gradle.

    Ошибка создания экземпляра класса сервлета

    Вопрос:

    Я пытаюсь выполнить пример входа в систему с помощью сервлетов, используя RequestDispatcher, но получая этот статус HTTP 404 -, у меня есть жестко закодированная ошибка пароля в самом коде, но несколько раз HTTP-статус 500 – Ошибка создания класса сервлета Login enter image description hereweb.xml

    <web-app>
    <servlet>
    <servlet-name>Login</servlet-name>
    <servlet-class>Login</servlet-class>
    </servlet>
    <servlet>
    <servlet-name>WelcomeServlet</servlet-name>
    <servlet-class>WelcomeServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/Login</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>WelcomeServlet</servlet-name>
    <url-pattern>/WelcomeServlet</url-pattern>
    </servlet-mapping>
    
    <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    </web-app>
    

    index.html

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <form action="servlet1" method="post">
    Name:<input type="text" name="userName"/><br/>
    Password:<input type="password" name="userPass"/><br/>
    <input type="submit" value="login"/>
    </form>
    </body>
    </html>
    

    Login.java

     package com.emma.saurabh;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    
    public class Login extends HttpServlet {
    
    /**
    *
    */
    private static final long serialVersionUID = 1L;
    
    public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    
    String p=request.getParameter("userPass");
    if(p.equals("saurabh")){
    RequestDispatcher rd=request.getRequestDispatcher("servlet2");
    rd.forward(request, response);
    
    }
    else{
    out.print("Sorry username or password error!");
    RequestDispatcher rd=request.getRequestDispatcher("/index.html");
    rd.include(request, response);
    }
    
    }
    
    }
    
    
    **WelcomeServlet.java**
    
    
    package com.emma.saurabh;
    
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    public class WelcomeServlet extends HttpServlet {
    
    /**
    *
    */
    private static final long serialVersionUID = 1L;
    
    public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    
    String n=request.getParameter("userName");
    out.print("Welcome "+n);
    }
    
    }
    

    Лучший ответ:

    Действие формы должно указывать на сервлет, которому вы хотите отправить форму. Я думаю, вы хотите отправить его в действие Login, поэтому форма будет выглядеть следующим образом.

    <form action="Login" method="post">  
        Name:<input type="text" name="userName"/><br/>  
        Password:<input type="password" name="userPass"/><br/>  
        <input type="submit" value="login"/>  
    </form>
    

    редактировать

    Добавление того, что предлагала птица @fly.

    <servlet>  
        <servlet-name>Login</servlet-name>  
        <servlet-class>com.emma.saurabh.Login</servlet-class>  
    </servlet>  
    <servlet>  
        <servlet-name>WelcomeServlet</servlet-name>  
        <servlet-class>com.emma.saurabh.WelcomeServlet</servlet-class>  
    </servlet>  
    

    doPost вместо doGet в ваш сервлет

     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{....}
    

    Вы также можете изменить method="post" на method="get" в форме. Я предлагаю вам сделать doPost потому что изменение метода покажет параметры в URL.

    Ответ №1

    Ваш код написан методом doGet, тогда как данные передаются через POSt. Вы должны написать в методе doPost. Это приведет к удалению ошибки HTTP 405

    Here’s the issue: I had a few projects with JSP servlets running with NetBeans 8.2. When I tried to run them in NetBeans 12.1 at a different computer, I have the error: javax.servlet.ServletException: Error instantiating servlet class.
    I’ve tried to create a new web application from zero, but I still get the same error. I’ve also tried to downgrade from JDK 15 to JDK 1.8 (which worked well for me before), but doesn’t worked. I’ve even tried to upgrade from Tomcat 7 to Tomcat 9, and also switched to GlassFish, but I got the same problem.
    I’ve been searching in Internet for hours looking for a solution, but I couldn’t find anyone. What could be the matter? I’ve also seen a few cuestions in StackOverflow with a similar issue but it didn’t help.

    Вот мой код:

    miServlet.java:

    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package prueba;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     *
     * @author 54113
     */
    public class miServlet extends HttpServlet {
    
        /**
         * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
         * methods.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
                /* TODO output your page here. You may use following sample code. */
                out.println("<!DOCTYPE html>");
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet miServlet</title>");            
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>Servlet miServlet at " + request.getContextPath() + "</h1>");
                out.println("</body>");
                out.println("</html>");
            } finally {
                out.close();
            }
        }
    
        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
        /**
         * Handles the HTTP <code>GET</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
            response.setContentType("text/html;charser=UTF-8");
            PrintWriter out = response.getWriter();
            out.println("Hola");
        }
    
        /**
         * Handles the HTTP <code>POST</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
        /**
         * Returns a short description of the servlet.
         *
         * @return a String containing servlet description
         */
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
    
    }
    

    index.jsp:

    <%-- 
        Document   : index
        Created on : 12 dic. 2020, 00:06:47
        Author     : 54113
    --%>
    
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <h1>Hello World!</h1>
             <h4>Haga click <a href="miServlet"> aqui </a> </h4>
        </body>
    </html>
    

    web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
        <servlet>
            <servlet-name>miServlet</servlet-name>
            <servlet-class>prueba.miServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>miServlet</servlet-name>
            <url-pattern>/miServlet</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
    </web-app>
    

    context.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context antiJARLocking="true" path=""/>
    

    Вот сообщения об ошибках:

    С Tomcat 7:
    (Примечание. Ошибка при создании экземпляра сервлета означает Ошибка при создании экземпляра класса сервлета, а ошибка внутреннего сервера не выполняется. сервер обнаружил внутреннюю ошибку, которая помешала ему выполнить этот запрос. Causa raíz означает «Основная причина»).

    Estado HTTP 500 – Internal Server Error
    
    
    Tipo Informe de Excepción
    
    mensaje Error instanciando clase de servlet [prueba.miServlet]
    
    Descripción El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.
    
    excepción 
    javax.servlet.ServletException: Error instanciando clase de servlet [prueba.miServlet]
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1201)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2531)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2520)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:832)
    
    
    
    causa raíz 
    java.lang.RuntimeException: 
        prueba.miServlet.<init>(miServlet.java:1)
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
        java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1201)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2531)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2520)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:832)
    
    
    
    nota La traza completa de la causa de este error se encuentra en los archivos de registro del servidor.
    
    
    Apache Tomcat/7.0.107
    

    С Tomcat 9:

    Estado HTTP 500 – Internal Server Error
    
    
    Tipo Informe de Excepción
    
    mensaje Error instanciando clase de servlet [prueba.miServlet]
    
    Descripción El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.
    
    excepción
    javax.servlet.ServletException: Error instanciando clase de servlet [prueba.miServlet]
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:832)
    
    
    causa raíz
    java.lang.RuntimeException: 
        prueba.miServlet.<init>(miServlet.java:1)
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
        java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:832)
    
    
    nota La traza completa de la causa de este error se encuentra en los archivos de registro del servidor.
    
    
    Apache Tomcat/9.0.41
    

    Со GlassFish:

    HTTP Status 500 - Internal Server Error
    
    
    type Exception report
    
    message Internal Server Error
    
    description The server encountered an internal error that prevented it from fulfilling this request.
    
    exception 
    javax.servlet.ServletException: Error instantiating servlet class prueba.miServlet
    
    
    root cause 
    com.sun.enterprise.container.common.spi.util.InjectionException: Error creating managed object for class: class prueba.miServlet
    
    
    root cause 
    java.lang.RuntimeException: 
    
    
    note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 5.0.1 logs.
    
    
    GlassFish Server Open Source Edition 5.0.1 
    

    Finally, here’s the project’s structure:

    Большое спасибо!
    Лучшее
    Leandro

    Здравствуйте еще раз, выскочило исключение показанное ниже

    В класспатч добюавил библиотечку j2ee.jar но все равно ругается, в web.xml все нормально
    подскажите если не сложно в чем может быть причина такого рода исключения, а то в гугле кроме того что javax/ejb/EntityBean не видит jvm не нашел, все советуют добавить в класспатч, но jar уже добавлен но все равно выскакивает,

    web.xml правильный, посмотрите:

    XML
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app id="WebApp_ID">
        <display-name>Net</display-name>
        
        <servlet>
            <servlet-name>StudentServlet</servlet-name>
            <display-name>StudentServlet</display-name>
            <description></description>
            <servlet-class>myclasses.StudentServlet</servlet-class>
        </servlet>
     
        <servlet-mapping>
            <servlet-name>StudentServlet</servlet-name>
            <url-pattern>/StudentServlet</url-pattern>
        </servlet-mapping>
        <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>
            <welcome-file>student.jsp</welcome-file>
        </welcome-file-list>
        <resource-ref>
         <res-ref-name>jdbc/myoracle</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
           <res-auth>Container</res-auth>
         </resource-ref>
    </web-app>
    Java
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    
    HTTP Status 500 -   --------------------------------------------------------------------------------   type Exception report   message   description The server encountered an internal error () that prevented it from fulfilling this request.   exception   javax.servlet.ServletException: Error instantiating servlet class myclasses.StudentServlet     org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)     org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)     org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)     org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)     org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)     java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)     java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)     java.lang.Thread.run(Unknown Source)     root cause   java.lang.NoClassDefFoundError: javax/ejb/EntityBean     java.lang.ClassLoader.defineClass1(Native Method)     java.lang.ClassLoader.defineClassCond(Unknown Source)     java.lang.ClassLoader.defineClass(Unknown Source)     java.security.SecureClassLoader.defineClass(Unknown Source)     org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2823)     org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1655)     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)     java.lang.Class.getDeclaredFields0(Native Method)     java.lang.Class.privateGetDeclaredFields(Unknown Source)     java.lang.Class.getDeclaredFields(Unknown Source)     org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)     org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)     org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)     org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)     org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)     java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)     java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)     java.lang.Thread.run(Unknown Source)     root cause   java.lang.ClassNotFoundException: javax.ejb.EntityBean     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)     java.lang.ClassLoader.defineClass1(Native Method)     java.lang.ClassLoader.defineClassCond(Unknown Source)     java.lang.ClassLoader.defineClass(Unknown Source)     java.security.SecureClassLoader.defineClass(Unknown Source)     org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2823)     org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1655)     org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)     java.lang.Class.getDeclaredFields0(Native Method)     java.lang.Class.privateGetDeclaredFields(Unknown Source)     java.lang.Class.getDeclaredFields(Unknown Source)     org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)     org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)     org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)     org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)     org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)     java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)     java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)     java.lang.Thread.run(Unknown Source)     note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.     --------------------------------------------------------------------------------   Apache Tomcat/7.0.23

    Добавлено через 2 минуты
    Это исключение произошло после того как я попытался вызвать один из методов класс который объявлен так: public class StudentEJB implements EntityBean

    естесственно я создал экземпляр класса StudentEJB и вызвал его метод, в итоге исключение

    __________________
    Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

    Я пишу веб-приложение и развертываю его в веб-контейнере apache tomcat. Я следую простому учебнику из http://cse.csusb.edu/turner/java_web_programming/servlets/

    а затем получите эту ошибку. Я вставляю фрагменты и web.xml, website.xml и мои файлы кода соответственно.

    Состав:

    Изображение 198980

    web.xml:

    <?xml version="1.0"?>
    <web-app
    xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
    <servlet>
    <servlet-name>home</servlet-name>
    <servlet-class>website.web.HomeServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>home</servlet-name>
    <url-pattern>/home</url-pattern>
    </servlet-mapping>
    </web-app>
    

    HomeServlet.java

    package website.web;

    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class HomeServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
    throws ServletException, IOException {
    PrintWriter writer = resp.getWriter();
    writer.println("<h1>Hello, World!</h1>");
    }        
    }
    

    Ошибка:

    HTTP Status 500 - Error instantiating servlet class website.web.HomeServlet
    type Exception report
    message Error instantiating servlet class website.web.HomeServlet
    description The server encountered an internal error that prevented it from fulfilling this request.
    exception
    javax.servlet.ServletException: Error instantiating servlet class website.web.HomeServlet
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)
    root cause
    java.lang.ClassNotFoundException: website.web.HomeServlet
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305)
    org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1517)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1474)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Thread.java:745)
    

    Here’s the issue: I had a few projects with JSP servlets running with NetBeans 8.2. When I tried to run them in NetBeans 12.1 at a different computer, I have the error: javax.servlet.ServletException: Error instantiating servlet class.
    I’ve tried to create a new web application from zero, but I still get the same error. I’ve also tried to downgrade from JDK 15 to JDK 1.8 (which worked well for me before), but doesn’t worked. I’ve even tried to upgrade from Tomcat 7 to Tomcat 9, and also switched to GlassFish, but I got the same problem.
    I’ve been searching in Internet for hours looking for a solution, but I couldn’t find anyone. What could be the matter? I’ve also seen a few cuestions in StackOverflow with a similar issue but it didn’t help.

    Вот мой код:

    miServlet.java:

    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package prueba;
    
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     *
     * @author 54113
     */
    public class miServlet extends HttpServlet {
    
        /**
         * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
         * methods.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter out = response.getWriter();
            try {
                /* TODO output your page here. You may use following sample code. */
                out.println("<!DOCTYPE html>");
                out.println("<html>");
                out.println("<head>");
                out.println("<title>Servlet miServlet</title>");            
                out.println("</head>");
                out.println("<body>");
                out.println("<h1>Servlet miServlet at " + request.getContextPath() + "</h1>");
                out.println("</body>");
                out.println("</html>");
            } finally {
                out.close();
            }
        }
    
        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
        /**
         * Handles the HTTP <code>GET</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
            response.setContentType("text/html;charser=UTF-8");
            PrintWriter out = response.getWriter();
            out.println("Hola");
        }
    
        /**
         * Handles the HTTP <code>POST</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }
    
        /**
         * Returns a short description of the servlet.
         *
         * @return a String containing servlet description
         */
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
    
    }
    

    index.jsp:

    <%-- 
        Document   : index
        Created on : 12 dic. 2020, 00:06:47
        Author     : 54113
    --%>
    
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <h1>Hello World!</h1>
             <h4>Haga click <a href="miServlet"> aqui </a> </h4>
        </body>
    </html>
    

    web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
        <servlet>
            <servlet-name>miServlet</servlet-name>
            <servlet-class>prueba.miServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>miServlet</servlet-name>
            <url-pattern>/miServlet</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
    </web-app>
    

    context.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <Context antiJARLocking="true" path=""/>
    

    Вот сообщения об ошибках:

    С Tomcat 7:
    (Примечание. Ошибка при создании экземпляра сервлета означает Ошибка при создании экземпляра класса сервлета, а ошибка внутреннего сервера не выполняется. сервер обнаружил внутреннюю ошибку, которая помешала ему выполнить этот запрос. Causa raíz означает «Основная причина»).

    Estado HTTP 500 – Internal Server Error
    
    
    Tipo Informe de Excepción
    
    mensaje Error instanciando clase de servlet [prueba.miServlet]
    
    Descripción El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.
    
    excepción 
    javax.servlet.ServletException: Error instanciando clase de servlet [prueba.miServlet]
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1201)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2531)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2520)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:832)
    
    
    
    causa raíz 
    java.lang.RuntimeException: 
        prueba.miServlet.<init>(miServlet.java:1)
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
        java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
        org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1201)
        org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2531)
        org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2520)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:832)
    
    
    
    nota La traza completa de la causa de este error se encuentra en los archivos de registro del servidor.
    
    
    Apache Tomcat/7.0.107
    

    С Tomcat 9:

    Estado HTTP 500 – Internal Server Error
    
    
    Tipo Informe de Excepción
    
    mensaje Error instanciando clase de servlet [prueba.miServlet]
    
    Descripción El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.
    
    excepción
    javax.servlet.ServletException: Error instanciando clase de servlet [prueba.miServlet]
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:832)
    
    
    causa raíz
    java.lang.RuntimeException: 
        prueba.miServlet.<init>(miServlet.java:1)
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
        java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
        java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
        org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
        org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
        org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
        org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
        org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
        org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
        org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:888)
        org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1597)
        org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        java.base/java.lang.Thread.run(Thread.java:832)
    
    
    nota La traza completa de la causa de este error se encuentra en los archivos de registro del servidor.
    
    
    Apache Tomcat/9.0.41
    

    Со GlassFish:

    HTTP Status 500 - Internal Server Error
    
    
    type Exception report
    
    message Internal Server Error
    
    description The server encountered an internal error that prevented it from fulfilling this request.
    
    exception 
    javax.servlet.ServletException: Error instantiating servlet class prueba.miServlet
    
    
    root cause 
    com.sun.enterprise.container.common.spi.util.InjectionException: Error creating managed object for class: class prueba.miServlet
    
    
    root cause 
    java.lang.RuntimeException: 
    
    
    note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 5.0.1 logs.
    
    
    GlassFish Server Open Source Edition 5.0.1 
    

    Finally, here’s the project’s structure:

    Большое спасибо!
    Лучшее
    Leandro

    Понравилась статья? Поделить с друзьями:
  • Jaguar protherm jtv 24 ошибка f10
  • Jagged alliance 2 ошибка загрузки
  • Jade empire ошибка при загрузке игры
  • Itunes ошибка 3259 при восстановлении прошивки
  • Itunes ошибка 3004 при восстановлении