本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接
异常概述
现在虽然使用JSP的朋友少了,但是还是有人会遇到这样的问题。
也就是出现如下错误:
严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:410)...
我的JSP页面是这样导入的:
我的maven是这样配置的:
访问页面出现500错误。
解决方案
一:
web项目出现如上问题,据查是版本问题:
JSTL 1.0 的声明是:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core " %>
JSTL1.1以后 的声明是:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
二:
一方案没问题后,可能是你的Tomcat缺少JSTL包,所以,你只需要在项目的lib下导入JSTL对应版本的包就可以解决该异常了。或者在Tomcat的lib下导入JSTL对应版本的包就可以了。