The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml 问题解决

本文记录了解决JSP使用jstl标签时遇到的错误:The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml。通过正确引入Maven依赖和调整库位置,成功解决问题。

这里做个错误记录,真的是祭奠一下愚蠢的自己,在这个问题上耗了一个晚上。

在JSP中编写jstl语句的<c:foreach>时出现了如下错误:找不到jstl,无法应用jstl

严重错误:org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml

这里先说下最终解决办法:正确引入maven的依赖,是这一段引入,详情可见maven仓库

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

下面是试水过程:

检查了头文件的引入,加上

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>            这是jstl1.1之后的版本声明

同时也在maven中引入依赖(初始,跟着maven提示引入,错误的可别添加)

<dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
</dependency>

 

运行服务器,出现新错误

org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV

提示需要下载standard.tlv文件,这个时候就有疑问了,我使用的是JSTL1.2版本的,包含了这个文件的,所以就去maven仓库中搜寻。

结果!!!

 

发现jstl移位置了!(此时只想骂自己傻)

它现在存放在javax.servlet.jsp.jstl中,所以把原来引入的依赖删掉,换成下面这个

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

终于

重启服务器成功了yeah~

os:这是我在写这篇博客重现错误记录的时候更改正确的(突然福至心灵,想到不对劲,事实证明熬夜使人变傻...)

 ---来自深夜打代码的秃头猩猩

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值