org.apache.jasper.JasperException错误以及解决办法



org.apache.jasper.JasperException错误以及解决办法。

1、错误描述

  1. 2014-7-13 17:20:50 org.apache.catalina.core.StandardWrapperValve invoke
  2. 严重: Servlet.service() for servlet [jsp] in context with path [/FirstSSH] threw exception [/pages/student.jsp (line: 3, column: 0) /pages/pathTags.jsp (line: 1, column: 59) Attempt to redefine the prefix c to http://java.sun.com/jstl/core, when it was already defined as http://java.sun.com/jsp/jstl/core in the current scope.] with root cause
  3. org.apache.jasper.JasperException: /pages/student.jsp (line: 3, column: 0) /pages/pathTags.jsp (line: 1, column: 59) Attempt to redefine the prefix c to http://java.sun.com/jstl/core, when it was already defined as http://java.sun.com/jsp/jstl/core in the current scope.
  4.     at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
  5.     at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
  6.     at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:89)
  7.     at org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:324)
  8.     at org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:357)
  9.     at org.apache.jasper.compiler.Parser.parseDirective(Parser.java:467)
  10.     at org.apache.jasper.compiler.Parser.parseElements(Parser.java:1427)
  11.     at org.apache.jasper.compiler.Parser.parse(Parser.java:138)
  12.     at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:242)
  13.     at org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
  14.     at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
  15.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
  16.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
  17.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
  18.     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
  19.     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
  20.     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
  21.     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
  22.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
  23.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
  24.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  25.     at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:96)
  26.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  27.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  28.     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
  29.     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
  30.     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
  31.     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
  32.     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
  33.     at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
  34.     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
  35.     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
  36.     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
  37.     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
  38.     at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2441)
  39.     at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2430)
  40.     at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  41.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  42.     at java.lang.Thread.run(Thread.java:619)

2、错误原因

     页面中引入:

  1. <%@taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>
  2. <%@ include file=”pathTags.jsp”%>

pathTags.jsp:

  1. <%@ taglib prefix=”c” uri=”http://java.sun.com/jstl/core” %>
  2. <%@ taglib prefix=”fmt” uri=”http://java.sun.com/jsp/jstl/fmt” %>
  3. <%@ taglib prefix=”sql” uri=”http://java.sun.com/jstl/sql” %>
  4. <%@ taglib prefix=”x” uri=”http://java.sun.com/jsp/jstl/xml” %>
  5. <%@ taglib prefix=”m” uri=”http://java.sun.com/jsp/jstl/functions” %>
  6. <%
  7. String path = request.getContextPath();
  8. String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;
  9. %>
  10. <c:set var=”bp” value=”<%=basePath%>”></c:set>
  11. <c:set var=”pa” value=”<%=path%>”></c:set>

 出现“<%@ taglib prefix=”c” uri=”http://java.sun.com/jstl/core” %> ”多次被引入到页面,出现重复

3、解决办法:去掉页面中的“<%@ taglib prefix=”c” uri=”http://java.sun.com/jstl/core” %> ”