关于servlet的500错误cannot be cast to jakarta.servlet.Servlet

因为Tomcat使用的是10.0.6版本,此版本中servlet使用的jar包已经改为jakartaee-migration-1.0.0-shaded.jar。java文件中任然使用的是servlet-api.jar。才出现了这个问题。
这一点可以根据Tomcat中的例子可以直接找到错误。

原因找到了,只要导入正确的jar包就对了。到maven仓库找导入maven的配置文件:https://mvnrepository.com/


配置文件代码:
<!-- https://mvnrepository.com/artifact/jakarta.servlet/jakarta.servlet-api -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
修改pom.xml文件,在dependencies标签中加入配置文件

刷新maven即可自动导入

重新启动Tomcat,错误消失。
提供关于Tomcat服务器问题的处理思路,可以根据Tomcat服务启动后根据相关的例子来进行排错。

由于Tomcat升级到10.0.6版本,servlet jar包变为jakartaee-migration-1.0.0-shaded.jar,导致与旧版servlet-api.jar冲突。解决方法是更新pom.xml文件,引入jakarta.servlet-api的正确依赖(版本5.0.0),设置为provided范围,然后刷新maven并重启Tomcat,即可消除500错误。
2979

被折叠的 条评论
为什么被折叠?



