最近在学习使用JSTL时,遇到了这样的错误:org.apache.jasper.JasperException: 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
我使用的的是tomcat 9。之前在学习Java Web的时候也遇到过,今天也发生了同样的错误,记录一下这个问题的解决方法我完全是跟着视频中老师的一步一步配置的,今天使用maven添加依赖不管用,想起之前是通过配置web.xml解决的,老师们也没配啊[纳闷]。没错,JSTL需要配置web.xml!!
解决方法如下:
1 在wepabb/WEB-INF/目录下新建lib文件夹,然后添加两个jar包——jstl.jar和standard.jar
2 选中者两个jar包,右键,添加到库中作为web项目的依赖
3 打开其中一个jar包standard.jar,复制standard.jar!/META-INF下面的c.tld和fmt.tld文件到webapp/WEB-INF目录下
4 在web.xml中配置JSTL标签
这里我只使用到了两个标签,所以就只配置了两个
我是参考了这里的:配置JSTL_jstl配置_m0_52464856的博客-CSDN博客
<jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
</jsp-config>
5 在需要的jsp中引入相关的JSTL标签即可
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
接下来,启动tomcat就可以正常运行了。