实例化Servlet类ServletTest异常的处理方式

Tomcat与Servlet的版本对应关系

例如: Tomcat9.0x对应的Servlet最低版本为Servlet4.0,
如果Tomcat低于9.0而使用了Servlet4.0会出现问题, 反之也是

由于我用的是Tomcat10.0(需要Servlet5.0版),而maven导入的是Servlet4.0.1, 由于Tomcat10中的servlet-api与maven导入的servlet-api不匹配所导致的

页面报错信息↓

HTTP状态 500 - 内部服务器错误
类型 异常报告消息 实例化Servlet类[com.example.servlet.ServletTest]异常描述 服务器遇到一个意外的情况,阻止它完成请求。例外情况jakarta.servlet.ServletException: 实例化Servlet类[com.example.servlet.ServletTest]异常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:382)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:1699)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.lang.Thread.run(Thread.java:748)
根本原因。java.lang.NoClassDefFoundError: javax/servlet/Servletjava.lang.ClassLoader.defineClass1(Native Method)java.lang.ClassLoader.defineClass(ClassLoader.java:756)java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2516)org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1408)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1252)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:382)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:1699)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.lang.Thread.run(Thread.java:748)
根本原因。java.lang.ClassNotFoundException: javax.servlet.Servletorg.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1444)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1252)java.lang.ClassLoader.defineClass1(Native Method)java.lang.ClassLoader.defineClass(ClassLoader.java:756)java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2516)org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:872)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1408)org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1252)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:382)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:1699)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.lang.Thread.run(Thread.java:748)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看

解决方式: 降低Tomcat版本至9.0x

问题发现

由于我配置的是Tomcat10.0版本,运行项目时一开时,默认访问index.jsp页面,当我访问servlet的程序时,出现了这个报错!

<?xml version="1.0" encoding="UTF-8"?>
<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标签,给Tomcat配置一个servlet程序--><servlet><!--servlet-name给servlet起一个别名(一般是类名)--><servlet-name>HelloServlet</servlet-name><!--servlet-class是servlet程序的全类名--><servlet-class>com.example.servlet.ServletTest</servlet-class></servlet><!--servlet-mapping标签给servlet程序配置访问地址. 这里的名字需要跟上面的servlet-name名字一至--><servlet-mapping><!--servlet-name标签是告诉服务器,我当前配置的地址是给那个程序使用的--><servlet-name>HelloServlet</servlet-name><!--url-pattern标签配置访问地址/ 斜杠在服务器解析的时候,表示为 http://ip:port/工程路径/hello 表示配置访问servlet的路径: http://ip:port/工程路径/hello, 可以将路径映射到servlet.ServletTest的实例化对象--><url-pattern>/hello</url-pattern></servlet-mapping>
</web-app>

实例化Servlet类ServletTest异常的处理方式相关推荐

  1. 解决实例化Servlet类XXX异常

    别人碰到什么问题我不管,我只记录自己碰到这个问题的解决过程. 用javac编译好了servlet的class文件,接着复制该文件到tomcat的webapps的项目名(我照着教程写的crm)目录下. ...

  2. 解决实例化Servlet类[com.mu.servlet.HelloServlet]异常

    解决实例化Servlet类[com.mu.servlet.HelloServlet]异常 方案一:检测*.class文件是否在目标文件目录下 如果无,需要寻找这个*.class文件将其放入目标文件目录 ...

  3. maven tomcat10 servlet api 不兼容 包名javax变成jakarta 实例化Servlet类 异常

    学习javaweb,用maven构建项目,在pom.xml里面添加了javax.servlet依赖 写了一个servlet后,部署到tomcat上,出现了实例化异常 当时使用的是tomcat10,没想 ...

  4. 实例化servlet类[web.LoginServlet]异常

    实例化servlet类[web.LoginServlet]异常 异常 Exception javax.servlet.ServletException: 实例化Servlet类[web.Registe ...

  5. 求解:Tomcat实例化Servlet类异常?

    求解:运行web项目时报错实例化servlet类异常 初学者,接触不到一年. jdk使用的是jdk13,按照老师要求并未使用集成开发环境,使用的是记事本进行编写,javaBean和Servlet可以正 ...

  6. 实例化Servlet类异常

    最近初学Servlet,在编写第一个Servlet程序时,遇到了一个令我很苦恼的问题.java代码和XML配置文件中的内容都没有问题,也在Edit Configurations中修改了server的n ...

  7. javax.servlet.ServletException: 实例化Servlet类[com.enjoy.book.action.UserServlet]异常

    javax.servlet.ServletException: 实例化Servlet类[com.enjoy.book.action.UserServlet]异常 问题产生的原因是:servlet层在访 ...

  8. Tomcat 10 调用Servlet提示 500 实例化Servlet类异常

    最近在做Java EE的项目时把Tomcat服务器更新到了10.0.21,然后在测试调用Servlet中出现了如下异常 注意看红框框里面的内容 通过对错误信息的解读我们不难发现Tomcat 10版本的 ...

  9. javax.servlet.ServletException: 实例化Servlet类[com.wk.web.RegisterServlet]异常

    问题如下: Http:500 解决方法:

最新文章

  1. C++ 笔记(27)— 指针变量、数组和指针、指针数组、数组指针、指针常量与常量指针
  2. python【Matlibplot绘图库】基本使用(真の能看懂~!)
  3. 【云吞铺子之专家来了】CDN缓存解读和配置策略
  4. 阿里公共DNS正式发布:223.5.5.5 223.6.6.6
  5. 启动万维网发布服务(W3SVC)
  6. 全国计算机等级考试题库二级C操作题100套(第86套)
  7. js 的正则表达式 部分展示test()方法的验证功能
  8. 编程开发之--单例模式(2)
  9. python 学习笔记 (核心)
  10. python实现洗牌算法_【Python】洗牌算法及 random 中 shuffle 方法和 sample 方法浅析...
  11. Android——简单模拟银行转账
  12. 安装GitExtentions KDiff3已配置为合并工具,kdiff3的路径未配置
  13. 那些年我们用过的SSD
  14. DIY智能家居语音助理——语音智控万物
  15. Hybird A*算法
  16. 如何留住企业中层领导
  17. SPSS是什么?SPSS软件的功能有哪些?
  18. 老男孩第58期马帅琦
  19. mybatis 自动填充无效_mybatisPlus踩坑之--自动填充
  20. 阿里滑块x82y,223,224,225算法挺难的,千辛万苦。

热门文章

  1. 猎豹浏览器发布2.0版,性能大幅提升
  2. php上传 找不到临时文件夹(解决方法)
  3. cpu性能评测(i5-4460,i5-4400,i5-3470,i5-2400s,i3-3220T,G860)
  4. UDP 端口扫描 - Nmap
  5. 如何用Python进行数据分析,需要掌握哪些技术?
  6. 关于edge浏览器下载
  7. Android消息推送叨逼叨
  8. linux dlna 客户端,UPNP/DLNA(客户端)播放器推荐?
  9. SSCI(社会科学引文索引)介绍
  10. OPPO R9s刷机包_OPPO R9s线刷包救砖包教程下载