当先锋百科网

首页 1 2 3 4 5 6 7

问题原因:应该是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依赖

 注:tomcat版本对应图

在 https://blog.csdn.net/weixin_47601311/article/details/108196433 找到这张图