無線&移動互聯網技術研發

          換位思考·····
          posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          Tomcat JspFactory的異常的原因及解決辦法

          Posted on 2010-12-14 17:32 Gavin.lee 閱讀(1277) 評論(1)  編輯  收藏 所屬分類: 經驗&常識

          摘:http://depravedangel.javaeye.com/blog/421663
          The method getJspApplicationContext(ServletContext) is undefined for the type 
           
          JspFactory的異常的原因及解決辦法原因:
               服務器環境Jboss,Java程由Tomcat5.5工程目錄直接拷貝,由于WEB-INF/lib下存在jsp-api.jar、servlet-api.jar,與Jboss自帶的jar包沖突造成。
           
           解決辦法:
               刪除WEB工程Lib目錄中的jsp-api.jar、servlet-api.jar,重新啟動Jboss服務問題解決。 
           
          標記:
               在創建工程時,jsp-api.jar、servlet-api.jar這兩個jar包都無需手工加入到web工程中,tomcat與jboss都已包含。
           
          今天運行以前的一個老項目,不成想拋出下面的異常
          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:
                  org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
                  org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
                  org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:423)
                  org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
                  org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
                  org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
                  org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
                  org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
                  org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
                  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
                  javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
          上網搜,發現不少人有這個問題,但都沒有解決辦法。后來想到可能和tomcat6有關,因為我在工程的lib中添加了很多包(一堆什么Spring
          依賴),所以把他們一刪JSP就不拋異常了。我估計是,工程中和tomcat6 lib中重復的包在加載時是先被加載(也就是tomcat6中相同的包沒
          有被加載),而工程中的包版本要比tomcat6中的低,造成上面的異常。我對照著tomcat中包,發現工程中出現諸如catalina.jar、jsp-api.jar
          、servlet-api.jar等這樣的重復包,把它們從工程中刪了就應該行了(對于上面的異常,原因應該是包jsp-api.jar)。看來不是什么包都可以一股腦往工程里加啊。


          請關注@我的新浪微博


          評論

          # re: Tomcat JspFactory的異常的原因及解決辦法 沒有重復的包  回復  更多評論   

          2014-04-02 16:03 by
          An error occurred at line: 22 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:592)
          at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326)
          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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
          at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:438)
          at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
          at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
          at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:421)
          at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:342)
          at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:286)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
          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.Http11Processor.process(Http11Processor.java:859)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
          at java.lang.Thread.run(Thread.java:619)
          主站蜘蛛池模板: 博客| 法库县| 大埔县| 江源县| 徐州市| 思茅市| 溧水县| 通州市| 大姚县| 山西省| 井冈山市| 邻水| 长顺县| 永平县| 汉阴县| 西城区| 和顺县| 浮山县| 岱山县| 密山市| 图木舒克市| 伊金霍洛旗| 淅川县| 鄢陵县| 商丘市| 鲜城| 金阳县| 汉川市| 徐汇区| 易门县| 白城市| 泰安市| 五常市| 桃园县| 奉化市| 玛多县| 宝应县| 商丘市| 正阳县| 龙川县| 衡山县|