"xxx cannot be cast to jakarta.servlet.Servlet "报错解决方式
在做jsp的上机时候同学出现了一个500错误:com.kailong.servlet.ComputeBill cannot be cast to jaka.servlet.Servlet
然后因为我用的tomcat是8.xx版本,并没有出现过这个情况,然后一顿查这个Servlet文件,从头分析到尾,在我这能用在同学那就不行。一开始并没有注意到这个jakarta,只是一直在想为啥提示这个Servlet文件不是Servlet嘞,该导的包也导了,web.xml也配置了,各种配置大小写都查了一遍,然后还是不对,就一直报错。
然后发现他的jdk是1.8,就想着是不是1.8版本不支持了?果断换成18版本,然后重新编译运行,还是这个500报错。
整了好一会还是不中,然后就看这个tomcat的提示,感觉tomcat会不会有问题,然后去官网查了一下。
从Tomcat的官方文档可以看到,Tomcat 10有一个大的变动:jar包从 javax.*
变成了 jakarta.*
,这就要求从Tomcat 9 等 迁移到Tomcat 10的时候,要么做一些代码改动,要么借助Tomcat官网提供的迁移工具将编译好的war变更成用jakarta
的。
然后发现问题就好解决了。
之前使用都是servlet-api.jar
这个包,对于tomcat10版本的就得换包了。
得换成jakarta.servlet-api
和jakarta.servlet.jsp-api
这俩包
下载地址:jakarta.servlet-api
:https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api/
jakarta.servlet.jsp-api
:https://mvnrepository.com/artifact/jakarta.servlet.jsp/jakarta.servlet.jsp-api/
导包之后,把javax.servlet.xx
换成jakarta.servlet.xx
当然还有另外一种方式就是吧tomcat降版本,从10.xx降个版本,不过相比于tomcat10.xx新增更多特性,还是用第一种方式,就换个包的方式来解决比较好且合理。
公众号本文地址:https://mp.weixin.qq.com/s/U0IcXL8mtrbxSFmUs7Jfzg
头条:https://www.toutiao.com/article/7162835577032049163/?wid=1667728043289
欢迎关注公众号:愚生浅末。
"xxx cannot be cast to jakarta.servlet.Servlet "报错解决方式的更多相关文章
- Unknown: o pen_basedir restriction in effect. File(XXX) is not within the allo wed path(s): (XXX:/tmp/:/proc/) in Unknown on line 0报错解决
报错: [error] 12321#0: *92386 FastCGI sent in stderr: "PHP message: PHP Warning: Unknown: open_ba ...
- 目标平台、活动平台 配置,出现未能加载文件或程序集“xxx”或它的某一个依赖项报错
今天在做动态加载程序集的时候,发现明明程序集存在的情况下,还是依然报“未能加载文件或程序集“xxx”或它的某一个依赖项报错”的错误,排除了程序和配置的错误后,怀疑是否是环境的问题,于是百度加msdn后 ...
- Java-maven异常-cannot be cast to javax.servlet.Filter 报错, 原因servlet-api.jar冲突
使用maven开发web应用程序, 启动的时候报错: jar not loaded. See Servlet Spec . Offending class: javax/servlet/Servlet ...
- cannot be cast to javax.servlet.Filter 报错, 原因servlet-api.jar冲突
使用maven开发web应用程序, 启动的时候报错: jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: jav ...
- Eclipse导入servlet项目报错
Eclipse导入servlet项目,缺少servlet的jar包,导致项目报错. 解决: step1:选中项目->properties step2:选择的Targeted Runtimes s ...
- SpringBoot项目 org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Jetty servlet container报错
SpringBoot项目启动报错 ERROR 2172 --- [ main] o.s.boot.SpringApplication : Application startup failed org. ...
- thymeleaf Exception processing template "xxx": Exception parsing document: template="xxx", line 6 - column 3报错解决的几种方法
我是在SpringBoot项目使用Thymeleaf作为模板引擎时报的错误 controller代码非常简单,如下所示: @RequestMapping("/abc") publi ...
- Archive required for library “xxx” cannot be read or is not a valid zip file报错解决
在项目中导入别人的maven项目时报错:Archive required for library “xxx” cannot be read or is not a valid zip file 网上查 ...
- django报错解决:Invalid HTTP_HOST header: 'xxx.com'. You may need to add u'xxx.com' to ALLOWED_HOSTS.
django版本:1.11.15 使用uwsgi+nginx运行django程序,出现报错,报错为:Invalid HTTP_HOST header: 'xxx.com:82'. You may ne ...
随机推荐
- OpenJudge 1.5.15 银行利息
15:银行利息 总时间限制: 1000ms 内存限制: 65536kB 描述 农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇.已知投资的复合年利率为R(0到20之间 ...
- Android Kotlin Annotation Processer
Annotation Processer 注解处理器(Annotation Processer)是javac内置的注解处理工具,可以在编译时处理注解,让我们自己做相应的处理.比如生成重复度很高的代码, ...
- 永久解决IDEA 连接 mysql时区问题`
永久解决IDEA 连接 mysql时区问题` 找到mysql的安装路径下的my.ini文件 加入以下代码 [mysqld] default-time_zone='+8:00' 关闭然后保存 打开然后以 ...
- OpenHarmony3.0如何轻松连接华为云IoT设备接入平台?
摘要:本文主要介绍基于OpenHarmony 3.0版本来对接华为云IoT设备接入IoTDA,以小熊派BearPi-HM_Nano开发板为例,使用huaweicloud_iot_link SDK对接华 ...
- 安装vm,在vm中安装windows10操作系统。
步骤:双击打开虚拟机文件 根据向导安装 下一步 然后等待安装 安装好了后点击许可证 ZF3R0-FHED2-M80TY-8QYGC-NPKYF YF390-0HF8P-M81RQ-2DXQE-M2U ...
- nginx反向代理单独的java项目配置示例
# jar包封装成docker镜像启动 docker run -d -v /var/log/xxx:/var/log/xxx --restart=always --network host --nam ...
- 复现CVE-2022-10270(向日葵远程代码执行漏洞)
警告 请勿使用本文提到的内容违反法律.本文不提供任何担保. 漏洞描述 向日葵是一款免费的,集远程控制电脑手机.远程桌面连接.远程开机.远程管理.支持内网穿透的一体化远程控制管理工具软件.CNVD披露了 ...
- 2_Docker
一. Docker介绍 1.1 引言 场景1: 我本地运行没问题啊 环境问题 场景2: 哪个哥们又写死循环了, 怎么这么卡 在多用户的操作系统下, 会相互影响 场景3: 淘宝在双11的时候, 用户量暴 ...
- PAT (Basic Level) Practice 1012 数字分类 分数 20
给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n ...
- 学习ASP.NET Core Blazor编程系列四——迁移
学习ASP.NET Core Blazor编程系列一--综述 学习ASP.NET Core Blazor编程系列二--第一个Blazor应用程序(上) 学习ASP.NET Core Blazor编程系 ...