You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring MVC项目报错:http://java.sun.com/jsp/jstl/core无法解析

解决Spring MVC中JSTL标签库URI无法解析的问题

嘿,这个问题我之前也碰到过!错误提示The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved本质是你的项目里缺少JSTL的实现包,或者依赖配置存在冲突。结合你的环境和配置,我帮你梳理下解决方案:

问题根源分析

从你的pom.xml里能看到两个明显的问题:

  1. 重复引入了Servlet API依赖:同时包含javax.servlet-api(3.1.0)和servlet-api(2.3),版本冲突会导致依赖加载异常。
  2. Servlet API依赖没有设置provided scope:Tomcat 8本身已经自带了Servlet API,不需要把它打包到WAR包中,否则会和容器自带的API冲突。

具体修复步骤

1. 清理并修正Servlet API依赖

打开你的pom.xml,删除重复的servlet-api(2.3)依赖,把保留的javax.servlet-api设置为provided scope,修改后的依赖如下:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

2. 确认JSTL依赖配置

你的JSTL依赖版本(1.2)是适配Tomcat 8的,这个没问题,但要确保它存在于dependencies节点中:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

3. 验证JSP中的标签库指令

确保你的JSP页面里的JSTL标签库引用是正确的,和错误日志中的URI一致:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

4. 重新构建并部署项目

执行Maven命令重新构建项目,确保依赖被正确打包到WAR包中:

mvn clean package

然后检查WAR包的WEB-INF/lib目录下是否存在jstl-1.2.jar,如果存在,重新部署到Tomcat 8即可。

内容的提问来源于stack exchange,提问作者jackLee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:15:03