Класс не найден Исключение при создании сервлета - PullRequest
0 голосов
/ 09 марта 2020

Я создал сервлет Cook ie App, который будет хранить для меня Cook ie. Его функция - предоставить страницу, на которой я могу ввести имя пользователя, и предоставит страницу с приветствием пользователя, но я получение исключения из класса не найден Я новичок в сервлете, поэтому не понимаю, почему это происходит. Я предоставляю структуру своего проекта ниже

image

Мой сервлет Entry код

package ducat;

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

public class EntryServlet extends HttpServlet {

    public void doPost(HttpServletRequest request,
            HttpServletResponse response)
     throws ServletException, IOException
     {
        //Request data is read
        String name=request.getParameter("name");
        //A cookie is created for the name
        Cookie ck=new Cookie("user",name);
        //Making the cookie persistent for a day
        ck.setMaxAge(60*60*24);
        //cookie is added to the response
        response.addCookie(ck);
        //content type of response is set
        response.setContentType("text/html");
        //output stream is obtained
        PrintWriter out=response.getWriter();
        //response is generated
        out.println("<h3>Welcome, "+name+"</h3>");
        out.println("<a href=exitServlet>exit</a>");
        //output stream is closed
        out.close();
     }
}

мой код сервлета выхода

package ducat;

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

public class ExitServlet extends HttpServlet {

    public void doGet(HttpServletRequest request,
            HttpServletResponse response)
     throws ServletException, IOException
     {
        //Var to store userName
        String name="Guest";
        //Cookies are obtained from the request object
        Cookie ck[]=request.getCookies();
        //if a cookie is received, its value is read
        if(ck != null)
            name=ck[0].getValue(); //We have sent only cookie in 
        //the previous servlet hence this array would have at
        //most one memeber

        //content type of response is set
        response.setContentType("text/html");
        //output stream is obtained
        PrintWriter out=response.getWriter();
        //response is generated
        out.println("<h3>"+name+", you have successfully exited.</h3>");
        out.println("<a href=index.html>try again</a>");
        //output stream is closed
        out.close();
     }
}

My 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" version="3.1">
  <servlet>
    <servlet-name>s1</servlet-name>
    <servlet-class>ducat.EntryServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>s1</servlet-name>
    <url-pattern>/entryServlet</url-pattern>
  </servlet-mapping>
  <servlet>
    <servlet-name>s2</servlet-name>
    <servlet-class>ducat.ExitServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>s2</servlet-name>
    <url-pattern>/exitServlet</url-pattern>
  </servlet-mapping>
</web-app>

Я также предоставляю трассировку стека

Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version name:   Apache Tomcat/8.5.51
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Feb 5 2020 22:26:25 UTC
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version number: 8.5.51.0
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 10
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            10.0
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jre1.8.0_221
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_221-b11
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         C:\Users\Anirban Mitra\Documents\udemy\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         C:\Users\Anirban Mitra\Downloads\apache-tomcat-8.5.51-windows-x64\apache-tomcat-8.5.51
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\Anirban Mitra\Documents\udemy\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Users\Anirban Mitra\Downloads\apache-tomcat-8.5.51-windows-x64\apache-tomcat-8.5.51
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\Anirban Mitra\Documents\udemy\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Users\Anirban Mitra\Downloads\apache-tomcat-8.5.51-windows-x64\apache-tomcat-8.5.51\endorsed
Mar 10, 2020 8:16:04 AM org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1252
Mar 10, 2020 8:16:04 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jre1.8.0_221\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_221/bin/server;C:/Program Files/Java/jre1.8.0_221/bin;C:/Program Files/Java/jre1.8.0_221/lib/amd64;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;"E:\app\Oracle\product\12.1.0\dbhome_1\bin;C:\Users\Anirban Mitra\AppData\Local\Programs\Python\Python37";c:\Program Files (x86)\Intel\iCLS Client\;c:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\WINDOWS\System32\OpenSSH\;C:\Gradle\gradle-3.4.1\bin;C:\Program Files\TortoiseSVN\bin;C:\Users\Anirban Mitra\Downloads\derby\db-derby-10.8.1.2-bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Program Files\Java\jdk1.8.0_221\bin;C:\Users\Anirban Mitra\AppData\Local\Microsoft\WindowsApps;C:\Users\Anirban Mitra\AppData\Local\atom\bin;C:\Users\Anirban Mitra\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\Anirban Mitra\Downloads\tools\apache-maven-3.2.5\bin;;C:\Program Files\JetBrains\IntelliJ IDEA 2019.2.3\bin;;C:\Windows\sts-bundle\sts-3.9.5.RELEASE;;.]
Mar 10, 2020 8:16:05 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Mar 10, 2020 8:16:05 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Mar 10, 2020 8:16:05 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 2713 ms
Mar 10, 2020 8:16:05 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service [Catalina]
Mar 10, 2020 8:16:05 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.51
Mar 10, 2020 8:16:27 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 10, 2020 8:16:46 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 10, 2020 8:17:04 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 10, 2020 8:17:22 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 10, 2020 8:17:35 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 10, 2020 8:17:51 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 10, 2020 8:18:04 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 10, 2020 8:18:04 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Mar 10, 2020 8:18:04 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 118753 ms
Mar 10, 2020 8:19:25 AM org.apache.catalina.core.ApplicationContext log
INFO: Marking servlet [s1] as unavailable
Mar 10, 2020 8:19:25 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet [s1]
java.lang.ClassNotFoundException: ducat.EntryServlet
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180)
    at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:546)
    at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:527)
    at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1044)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:763)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:134)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:609)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1623)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...