org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be res

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:51)

at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)

at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116)

at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:316)

at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:149)

at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:386)

at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:450)

at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1397)

at org.apache.jasper.compiler.Parser.parse(Parser.java:130)

at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:255)

at org.apache.jasper.compiler.ParserController.parse(ParserController.java:103)

at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:185)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)

at org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)

at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)

at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

at java.lang.Thread.run(Thread.java:595)

解决: 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 %>
项目中,已经是 jstl 1.2 版本了,页面中也全部是用<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>这种方式。javaee5之后就只有 jstl.jar 这一个jar包了,没有standard.jar包,tld文件也打包到jar里面去了,在web.xml文件里配置jsp-config的解决方式也 是浮云。

最终解决方法:
jstl.jar 包在ide项目中有,但在tomcat发布的应用WEB-INF/lib下没有,这是工具发布项目的问题,复制一个jar包过去问题就解决了。

你可能感兴趣的:(org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be res)