2011-04-14 34 views
2

我在App Engine上出現了一個奇怪的錯誤500與我的JSP。GAE上出現jsp錯誤500/J

這很奇怪,因爲錯誤發生只有與jsp的3個第一請求。

因此,我瀏覽到.jsp網址,我重新加載了2-3次,我有2-3個錯誤500,我再次重新加載,它的工作原理。

的test.jsp的是這樣的:

<% String s = "hello"; %><h2><% out.println(s); %></h2> 

的有趣的事情是,我的HTML文件的作品,由JS提出的異步請求工作壓力太大。

我想我有一個錯誤在配置中,但我找不到。

編輯:

我試圖清空的web.xml中,queue.xml中和復位的AppEngine-web.xml中

錯誤日誌這裏引擎收錄:pastebin.com/ TDZH4xj3

我也禁用了始終開啓選項,並以新名稱重新部署應用程序。還是一樣的錯誤。

2011-04-18 00:10:20.312 /test.jsp 500 3665ms 1820cpu_ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.29 (KHTML, like Gecko) Chrome/12.0.733.0 Safari/534.29,gzip(gfe),gzip(gfe),gzip(gfe) 
92.245.143.214 - - [18/Apr/2011:00:10:20 -0700] "GET /test.jsp HTTP/1.1" 500 0 - "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.29 (KHTML, like Gecko) Chrome/12.0.733.0 Safari/534.29,gzip(gfe),gzip(gfe),gzip(gfe)" "www.planeteimmo.net" ms=3666 cpu_ms=1820 api_cpu_ms=0 cpm_usd=0.050630 loading_request=1 



W 2011-04-18 00:10:20.297 
Error for /test.jsp 
java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext; 
    at org.apache.jsp.test_jsp._jspInit(test_jsp.java:22) 
    at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:76) 
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) 
    at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) 
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) 
    at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) 
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) 
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.Server.handle(Server.java:326) 
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) 
    at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) 
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135) 
    at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261) 
    at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9285) 
    at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:437) 
    at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573) 
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448) 
    at com.google.tracing.TraceContext.runInContext(TraceContext.java:688) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318) 
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:636) 





C 2011-04-18 00:10:20.307 
Uncaught exception from servlet 
java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext; 
    at org.apache.jsp.test_jsp._jspInit(test_jsp.java:22) 
    at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:76) 
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) 
    at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) 
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166) 
    at com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:97) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:35) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) 
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388) 
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) 
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418) 
    at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:238) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.Server.handle(Server.java:326) 
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:923) 
    at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:76) 
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
    at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:135) 
    at com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:261) 
    at com.google.apphosting.base.RuntimePb$EvaluationRuntime$2.handleRequest(RuntimePb.java:9285) 
    at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:437) 
    at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:573) 
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:448) 
    at com.google.tracing.TraceContext.runInContext(TraceContext.java:688) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:326) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:318) 
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:446) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:636) 
+1

500就是App Engine向用戶返回的內容。管理控制檯中的日誌顯示什麼? – 2011-04-15 02:03:37

+0

以下是Pastebin的完整日誌: http://pastebin.com/TDZH4xj3 – 2011-04-18 07:12:14

+0

您是否嘗試在GAE上部署後立即打開網址? – kunal 2011-04-19 14:01:27

回答

4

java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;

你在你的web應用程序的文件夾/WEB-INF/lib具體servletcontainer其libaries與由servletcontainer在Web應用程序運行所提供的庫衝突。如果您將Apache Tomcat中的jsp-api.jar複製到webapp的/WEB-INF/lib文件夾中,並在完全不同的make/version的servletcontainer上運行webapp,則會發生這種情況。在您的具體情況下,其中一個庫是舊版本,缺少異常消息提及的方法。

擺脫他們所有在/WEB-INF/lib。他們絕對不屬於那裏。它們應該由servletcontainer自己提供。如果你這樣做是爲了規避編譯錯誤(這是啓動者把它們放在錯誤位置的更常見的原因之一),那麼它需要以不同的方式解決。

+0

就是這樣,我的/ WEB-INF/lib中有一些不好的.jar。雖然我從來沒有故意添加它們。 我最好的猜測是,當將Eclipse應用引擎工具指向SDK文件夾時,我一定犯了一個錯誤。 – 2011-04-19 19:20:19

+0

不客氣。 – BalusC 2011-04-19 19:23:17

+0

哦,我得到了類似的東西,我不知道哪個罐子是錯的... – tom 2014-01-20 12:25:02

3

這也發生在我身上。我在/ WEB-INF/lib目錄中有gwt-dev.jar。它不應該在那裏。

相關問題