springboot3.0无法识别javax.servlet.Servlet

2022年11月28日14:31:17,看到springboot发布了3.0版本(稳定版)

就编写了一个demo,发现无法使用我开发的security框架,基于JavaEE的 javax.servlet.Servlet

spring官网说明:https://spring.io/blog/2022/01/20/spring-boot-3-0-0-m1-is-now-available

https://gitee.com/lingkang_top/final-security

去查了一下资料,发现springboot3.0使用的是 jakarta.servlet.Servlet

  • JavaEE8版本升级之后的“JavaEE 9”,不再是“JavaEE9”这个名字了,叫做JakartaEE9。

  • JavaEE8的时候对应的Servlet类名是:javax.servlet.Servlet。

  • JakartaEE9的时候对应用的Servlet类名是:jakarta.servlet.Servlet(包名都换了)。

  • 如果你之前的项目还在使用javax.servlet.Servlet,那么你的项目无法直接部署到Tomcat10+版本上。你只能部署到Tomcat9-版本上。在Tomcat9以及Tomcat9之前的版本中还是能够识别javax.servlet这个包。