使用Tomcat10导致的DispatcherServlet不可用问题

你是否刚开始学习SpringMVC,使用的是最新版的Tomcat和最新版的Spring-web等,但要注意,即使是最新的SpringMVC框架,也和Tomcat有不兼容的地方!例如在配置前端控制器时使用的

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

但是,Apache为了将Tomcat10与之前的版本区分,不再使用javax,而是使用jakarta

如果你查看了org.springframework.web.servlet.DispatcherServlet.java,你就会发现它导入的包依然是javax.*

import javax.servlet.DispatcherType;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

这样启动Tomcat后你会发现报异常,但Tomcat依然在运行,前端可以访问,但是访问例如Controller的时候就会404,因为DispatcherServlet无法再引入javax.*了。

最简单的办法自然就是把Tomcat降级,当然官网也提供了迁移工具,网络上也有具体用法,这里就不再展示(其实是我也没用过哈哈)


                
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值