一丶报错演示:

首先用的是Tomcat10版本, 先上报错代码

二丶继续用Tomcat10版本尝试解决 (结果还是失败)

1.  修改好pom.xml:

第一个org.springframework.web.servlet.DispatcherServlet报错是servlet jar错误。重新配置pom.xml文件里面的servlet和jsp依赖,如下图

2. 检查依赖和运行测试:

配置好后刷新pom重建 在Maven下可以看到出现了servlet和jsp依赖jar包已经加进来了,如下图,

至此,org.springframework.web.servlet.DispatcherServlet爆红是虽然解决了但是,运行项目启动Tomcat10(注意我这演示的是Tomcat10版本)访问页面还是会出现404路径错误,网页无法完成转跳。 

3. 失败结果分析:

为什么还会这样? 首先得知道Tomcat 10版本和历史版本不同之处 : Oracle将Java EE(Java SE还自己保留)交给开源组织,Eclipse基金会接手。但Oracle不允许开源组织使用Java名号,所以Jakarta EE名称于2018.02.26应运而生,所以Tomcat 10版本那些原本javax.*包都改名为jakarta.*;这样一改我们一旦写Servlet的时候还是导入javax.*包就会报错,得全部改成jakarta.*;

三丶最终解决方案

方式1. (推荐方案,版本一改直接解决)

想要继续使用javax.*;更老一点的Tomcat 版本例如Tomcat 9 及以下

pom.xml里面的servlet依赖和jsp依赖不用动还是j前缀还是 javax-

方式2. (不推荐,Tomcat10和jsp,servlet各种版本对应问题可能还会导致404错误)

要是坚持使用Tomcat 10那pom.xml里的Servlet和jsp依赖就得改成 jakarta前缀

 如果还是爆红报错得话 刷新pom.xml重建 检查Maven目录所有的依赖jar包是不是都已经加载进来了。检查web结构是否正确,WEB-INF下是否有lib和classes

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐