在Google App Engine 500错误上,应该是200而不是500

requestToken = function() {

var getTokenURI = '/gettoken?userid=' + userid;

var httpRequest = makeRequest(getTokenURI, true);

httpRequest.onreadystatechange = function() {

if (httpRequest.readyState == 4) {

if (httpRequest.status == 200) {

openChannel(httpRequest.responseText);

} else {

alert('ERROR: AJAX request status = ' + httpRequest.status);

}

}

}

};

function makeRequest(url, async) {

var httpRequest;

if (window.XMLHttpRequest) {

httpRequest = new XMLHttpRequest();

} else if (window.ActiveXObject) {

// IE

try {

httpRequest = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

httpRequest = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {

}

}

}

if (!httpRequest) {

return false;

}

httpRequest.open('POST', url, async);

httpRequest.send();

return httpRequest;

}

它在localhost上运行非常好…但是在Google App

Engine上,它的httpRequest.status等于500,并进入else语句。为什么?

在Google App Engine上登录:

/getFriendList?userid=d 500 253ms 0kb Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11

175.110.179.86 - - [17/Dec/2012:08:35:33 -0800] "POST /getFriendList?userid=d HTTP/1.1" 500 0 "http://faisalimmsngr.appspot.com/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11" "faisalimmsngr.appspot.com" ms=254 cpu_ms=110 instance=00c61b117caf2d11ca57d2a2296ccd0b902b038a

W 2012-12-17 08:35:33.272

Failed startup of context com.google.apphosting.utils.jetty.RuntimeAppEngineWebAppContext@10ff62a{/,/base/data/home/apps/s~faisalimmsngr/1.363934467542140431}

org.mortbay.util.MultiException[java.lang.UnsupportedClassVersionError: adv/web/mid/exam/FriendServlet : Unsupported major.minor version 51.0, java.lang.UnsupportedClassVersionError: adv/web/mid/exam/MessageServlet : Unsupported major.minor version 51.0, java.lang.UnsupportedClassVersionError: adv/web/mid/exam/TokenServlet : Unsupported major.minor version 51.0]

at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:656)

at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)

at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)

at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)

at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)

at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)

at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:219)

at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:194)

at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134)

at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:447)

at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)

at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)

at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)

at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)

at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)

at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)

at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)

at java.lang.Thread.run(Thread.java:679)

java.lang.UnsupportedClassVersionError: adv/web/mid/exam/FriendServlet : Unsupported major.minor version 51.0

at com.google.appengine.runtime.Request.process-c04431eac3a1f275(Request.java)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:634)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)

at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:616)

at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

at org.mortbay.util.Loader.loadClass(Loader.java:91)

at org.mortbay.util.Loader.loadClass(Loader.java:71)

at org.mortbay.jetty.servlet.Holder.doStart(Holder.java:73)

at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:242)

at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)

at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685)

at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)

at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)

at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)

at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)

at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)

at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:454)

at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:461)

at com.google.tracing.TraceContext.runInContext(TraceContext.java:703)

at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:338)

at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:330)

at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:458)

at java.lang.Thread.run(Thread.java:679)

回答:

发生这种情况是因为您使用JDK7。您应该使用JDK 6。

以上是 在Google App Engine 500错误上,应该是200而不是500 的全部内容, 来源链接: utcz.com/qa/401814.html

回到顶部