该错误是由于 jar 包冲突引起,在 Tomcat 中 servlet 和 jsp 的 jar 包和使用 maven 导入的 jar 包产生了冲突。
【解决方法】 ①将pom.xml中以下代码删除,即不使用 maven 中的 jar 包
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>${servlet-api.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
</dependency>
!!注意
- 查看 tomcat 中是的 lib 中是否带有 jstl 的 jar 包,若没有会报相同错误
需要自行添加 - 如果项目中有多个pom.xml,以上代码都要删掉。我就是没有注意这一点导致一直无法成功
上图框着的第二个我这里是需要自己去下载复制进去的。(文末有下载方式)
②我尝试使用第二种方式,即使用 maven 导入的 jar 包,删除了 tomcat 的 jsp-api 和 servlet-api,但无法运行项目,但在其他博客中看到有这种解决方式(不知是不是做错了哪一步)
【关于 jstl-1.2.jar 的下载方式】 下载 jar 包的地址: https://mvnrepository.com/ 自己有需要的 jar 包都可以在上面找,以下为操作步骤
|