0
点赞
收藏
分享

微信扫一扫

实例化Servlet类[com.gowork.servlet.helloservlet]异常【BUG已解决】

@[toc]

一.BUG描述

在使用Servlet的映射,浏览器输入映射路径后爆出如下错误:

类型 异常报告
消息 实例化Servlet类[com.gowork.servlet.helloservlet]异常
描述 服务器遇到一个意外的情况,阻止它完成请求。
例外情况

jakarta.servlet.ServletException: 实例化Servlet类[com.gowork.servlet.helloservlet]异常
    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:356)
    org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
    org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:867)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1762)
    org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.base/java.lang.Thread.run(Thread.java:833)

在这里插入图片描述

二.BUG已解决

原因分析:我现在的tomcat版本是10,我们去下面官网下载9版

https://tomcat.apache.org/download-90.cgi

在项目里用替换tomcat9来把tomcat10替换掉:
在这里插入图片描述
在这里插入图片描述

重新启动项目+访问成功:
在这里插入图片描述
映射文件如下:

    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.gowork.servlet.helloservlet</servlet-class>
    </servlet>

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

三.Servlet(忽略)

Servlet是一个服务HTTP请求,它实现了javax。Servlet是Servlet接口的Java类。Web应用程序开发人员通常编写servlet来扩展javax。Servlet。Http Httpservlet和实现servlet接口的抽象类专门用于处理Http请求。

3.1Servlet部署

默认情况下,servlet应用程序位于路径<Tomcat安装目录>/webapps/root中,类文件位于<Tomcat设备目录>/webapps/root/WEB-INF/classes中。
如果有一个完全限定的类名com。那么这个servlet类必须位于WEB-INF/classes/COM/Myorg/Myservlet类中。
将HelloWorld类放在<Tomcat安装目录>/webapps/root/WEB-INF/classes中,并放在WEB XML文件中。

<web-app>      
    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>HelloWorld</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>
</web-app>  

上述条目将在web上的XML文件中的<web app>标记中创建。
此文件中可能已经有各种条目可用,但不要在意。
基本完成后,让我们使用<Tomcat安装目录>\bin\startup.Bat(在Windows上)或<Tomcat.installation.directory>/bin/startup.Sh(在Linux/Solaris等上)启动Tomcat服务器,最后输入浏览器的地址栏http://localhost:8080/HelloWorld 。 如果一切顺利,将看到以下结果:
在这里插入图片描述

举报

相关推荐

0 条评论