Unable to compile class for JSP 错误的解决过程


01 2012-8-18 19:17:40 org.apache.catalina.core.StandardWrapperValve invoke
02 严重: Servlet.service() for servlet jsp threw exception
03 org.apache.jasper.JasperException: Unable to compile class for JSP:
04  
05 An error occurred at line: 23 in the generated java file
06 The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory
07  
08 Stacktrace:
09     at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
10     at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
11     at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
12     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
13     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
14     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
15     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
16     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
17     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
18     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
19     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
20     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
21     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
22     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
23     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
24     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
25     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
26     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
27     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
28     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
29     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
30     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
31     at java.lang.Thread.run(Thread.java:619)

 

 

于是呢,百度之。

网上说是Tomcat的web.xml和项目里的web.xml中德版本标识不一样。

就是这句话

 

1 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
2     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
4     version="2.5">

于是我就保证他们俩统一了。启动之。错误继续!

然后我又百度。在ITeye找到这么一个活生生的案例。

原文是这样的:

 

工程启动正常,但是只要一访问页面就会报: 

The method getJspApplicationContext(ServletContext) is undefined for the typ  ...... 

打断点,每次走到 CharacterEncodingFilter.java  doFilter()就抛异常了。 


网上说是工程里面多了几个包,认真找下去,还真的是多了 javax.servlet.jar 和 javax.servlet.jsp.jar 两个包。 去掉就OK了。

以上是我google的内容,我在  去掉 javax.servlet.jar和javax.servlet.jsp.jar   搞定  

你可能感兴趣的:(Unable to compile class for JSP 错误的解决过程)