问题原因:应该是pom里依赖的servlet-api的版本过高和Tomcat运行时的servlet-api版本不兼容。
在阿里云的镜像仓库(网址:仓库服务)里能获取到的artifactId为java.servlet-api的maven依赖版本过高(拿到的是java.servlet-api和jakarta.servlet-api两个jar的。而低版本的只有servlet-api.jar这一个jar。)
高版本想使用HttpServletResponse时,要通过import jakarta.servlet.http.HttpServletResponse(在jakarta.servlet-api这个jar下面)来获取。
而我的Tomcat是7.0,运行时环境的servlet-api是低版本(使用HttpServletResponse是通过import javax.servlet.http.HttpServletResponse),自然找不到jakarta.servlet.http这个包。
解决方法(eclipse):
1、右键项目Build Path - Add Libraries - Server Runtime - Apache Tomcat v7.0 - Finish在项目里导入Tomcat服务器的运行时类库,里面有适配当前Tomcat版本的较低版本servlet-api。
2、然后注释或删掉pom里添加的java.servlet-api依赖
注:
在 https://blog.csdn.net/weixin_47601311/article/details/108196433 找到这张图