• 解决The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory


    环境:jdk1.6、tomcat6、ant

    问题:部署项目到tomcat后,启动项目后访问连接报出

    严重: Servlet.service() for servlet jsp threw exception
    org.apache.jasper.JasperException: Unable to compile class for JSP:
     
    An error occurred at line: 23 in the generated java file
    The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
     
    Stacktrace:
     at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
     at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
     at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349)
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327)
     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
     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:298)
     at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:859)
     at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
     at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
     at java.lang.Thread.run(Thread.java:619)

    解决办法:是由于tomcat -> webapps -> web -> WEB-INF ->lib下javax.servlet.jsp.jar 有问题,在apache-tomcat-6.0.45lib下

     对比之下,在项目路径下并未有重复的jar包,但项目路径下有

     tomcat的lib中并没有,则直接删除。

    可能性1:比对一下和项目依赖包有无冲突,若有冲突删除项目中的依赖包保留tomcat

    可能性2:tomcat环境中的包版本太低,删除即可。

    其他包诸如servlet-api.jar/javax-servlet-api.jar,jsp-api.jar/javax-jsp-api.jar也相应的比对一下。

  • 相关阅读:
    [译] 第二十天:Stanford CoreNLP
    [译] 第十九天: Ember
    [译] 第十八天:BoilerPipe
    [译] 第十七天:JBoss Forge
    [译] 第十六天: Goose Extractor
    [译] 第十五天:Meteor
    [译] 第十四天:Standford NER
    [译] 第十三天:Dropwizard
    [译] 第十二天: OpenCV
    hadoop-MR
  • 原文地址:https://www.cnblogs.com/itzfz/p/15242184.html
Copyright © 2020-2023  润新知