Tomcat10那些坑,写SpringMVC时遇到 org.springframework.web.servlet.DispatcherServlet报错和404路径错误
首先用的是Tomcat10版本先上报错代码第一个org.springframework.web.servlet.DispatcherServlet报错是servlet jar错误。重新配置pom.xml文件里面的servlet和jsp依赖配置好后刷新pom重建在Maven下可以看到出现了servlet和jsp依赖jar包已经加进来了org.springframework.web.servlet.D
一丶报错演示:
首先用的是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
更多推荐
所有评论(0)