起因
下午将 Tomcat升级到了 10.0.4 版本,导致原先的 JSP Servlet 全部报了404。
搜寻了互联网,大部分都是配置web.xml
的metadata-complete
为false
,但这样对于我的项目无效。
解决方案
IDEA 建立Java Enterprise
工程,默认的Servlet API是javax.servlet-api
的4.0.1
版本
|
|
但是!
Tomcat 在 10.0 的版本之后,修改了所有的 Servlet API 包名
从原先的 javax.servlet 改成了 jakarta.servlet,虽然代码没有错误,但是 Tomcat 并不能搜寻到我们继承的类。
解决方法很简单,修改 pom.xml 中的 Servlet API
可以在 https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api 找到,注意对应你的 Tomcat 版本
|
|
然后将你实现 Servlet 接口的类的导包都改成对应的包名即可。
|
|
问题解决