jstl未使用错误(绝对uri:[http://java.sun.com/jsp/jstl/core]无法解决)
为了尝试使用jstl,我在maven中安装了JSTL1.2库。但当我通过以下消息运行jsp页面时,“绝对uri:[无法在web.xml或与此应用程序一起部署的jar文件中解析” 我读过书,做过别人告诉我的事,但这并不能解决我的问题 我正在使用JDK1.8和Tomcat8.5 我将附上完整的错误报告和我的部分代码jstl未使用错误(绝对uri:[http://java.sun.com/jsp/jstl/core]无法解决),jsp,jstl,Jsp,Jstl,为了尝试使用jstl,我在maven中安装了JSTL1.2库。但当我通过以下消息运行jsp页面时,“绝对uri:[无法在web.xml或与此应用程序一起部署的jar文件中解析” 我读过书,做过别人告诉我的事,但这并不能解决我的问题 我正在使用JDK1.8和Tomcat8.5 我将附上完整的错误报告和我的部分代码 HTTP Status 500 – Internal Server Error Type Exception Report Message The absolute uri:
HTTP Status 500 – Internal Server Error
Type Exception Report
Message 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
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
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
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:55)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:293)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:80)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:251)
org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:122)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:434)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1448)
org.apache.jasper.compiler.Parser.parse(Parser.java:145)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:351)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:335)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:601)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.
Apache Tomcat/8.5.16
HTTP状态500–内部服务器错误
类型异常报告
绝对uri的消息:[http://java.sun.com/jsp/jstl/core]无法在web.xml或与此应用程序一起部署的jar文件中解析
说明服务器遇到意外情况,无法满足请求。
例外情况
org.apache.jasper.jaspereException:绝对uri:[http://java.sun.com/jsp/jstl/core]无法在web.xml或与此应用程序一起部署的jar文件中解析
org.apache.jasper.compiler.DefaultErrorHandler.jsperor(DefaultErrorHandler.java:55)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:293)
org.apache.jasper.compiler.ErrorDispatcher.jsperor(ErrorDispatcher.java:80)
org.apache.jasper.compiler.TagLibraryInfoImpl.generateTldResourcePath(TagLibraryInfoImpl.java:251)
TagLibraryInfoImpl.java:122)
org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:434)
org.apache.jasper.compiler.Parser.parseDirective(Parser.java:492)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1448)
org.apache.jasper.compiler.Parser.parse(Parser.java:145)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:244)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:105)
org.apache.jasper.compiler.compiler.generateJava(compiler.java:203)
org.apache.jasper.compiler.compiler.compile(compiler.java:374)
org.apache.jasper.compiler.compiler.compile(compiler.java:351)
org.apache.jasper.compiler.compiler.compile(compiler.java:335)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:601)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javaservlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
注意:根本原因的完整堆栈跟踪可在服务器日志中找到。
ApacheTomcat/8.5.16
这是我的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ch06</groupId>
<artifactId>ch06</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>
4.0.0
ch06
ch06
0.0.1-快照
src
maven编译器插件
3.6.1
1.8
1.8
javax.servlet
jstl
1.2
这是我的web.xml文件的一部分
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
</web-app>
这是我的jsp代码,包括jstl核心库
<%@page contentType="text/html" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:import url="/includes/header.html" />
我将maven repository文件夹中的jstl-1.2.jar复制到web inf/lib文件夹后,它就可以工作了。试试看
`<!-- https://mvnrepository.com/artifact/jstl/jstl -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
`
jstl
jstl
1.2
`
这种依赖性在我的项目中运行良好如果你有一个maven项目,这就是解决方案。谢谢