当我访问本地java tomcat页面时,出现错误,请帮忙检查一下这有什么问题,谢谢
jsp代码
<%@ taglib prefix="p" uri="/WEB-INF/classes/tld/pagertag.tld"%>
错误日志:
SEVERE: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: Invalid tld file: "/WEB-INF/classes/tld/pagertag.tld", see JSP 2.2 specification section 7.3.1 for more details
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:117)
at org.apache.jasper.compiler.TagLibraryInfoImpl.generateTLDLocation(TagLibraryInfoImpl.java:347)
at org.apache.jasper.compiler.TagLibraryInfoImpl.<init>(TagLibraryInfoImpl.java:154)
at org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:419)
at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:484)
at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1421)
at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
答案 0 :(得分:14)
根据文件
标记库描述符文件的名称使用扩展名.tld, 扩展名表示标记库描述符文件。什么时候 部署在JAR文件中的标记库描述符文件必须是 在META-INF目录或其子目录中。部署时 直接进入Web应用程序,标记库描述符文件必须 始终位于WEB-INF目录或其某个子目录中。 TLD 文件不应放在/ WEB-INF / classes或/ WEB-INF / lib中 不得放在/ WEB-INF /标签内或其子目录中, 除非命名为implicit.tld ,并且打算使用其JSP版本和tlib-version配置隐式标记库。
您可以使用rename implicit.tld
将标记lib放在WEB-INF / tags中答案 1 :(得分:10)
在jsp-2_2中
JSP.7.3.1识别标记库描述符 标记库描述符文件的名称使用扩展名.tld和 extension表示标记库描述符文件。在JAR文件中部署时 标记库描述符文件必须位于META-INF目录或子目录中 它的。直接部署到Web应用程序时,标记库描述符 文件必须始终位于WEB-INF目录或其某个子目录中。 TLD 文件不应放在/ WEB-INF / classes或/ WEB-INF / lib中,也不能放在 放在/ WEB-INF /标签或其子目录中,除非名为implicit.tld和 旨在使用其JSP版本和tlib-version配置隐式标记库。
.tld文件不能位于类,lib,标签文件夹或子文件夹中。
答案 2 :(得分:1)
作为快速解决方案,您可以从tomcat 7.0.64的lib文件夹中复制以下两个库,并将其放置在项目根目录中;或者,如果您正在使用maven,则将这两个库作为依赖项添加到pom.xml文件中: / p>
jasper.jar jasper-el.jar
这将解决您的问题。
答案 3 :(得分:0)
似乎问题是tomcat版本。将tomcat版本从tomcat 8更改为7.0.55后,工作正常。