2010-11-03 31 views
0

我正在使用Tomcat服務器和Eclipse,今天我正在運行我的第一個servlet。Servlet異常

但我得到以下異常:

HTTP Status 500 - 

type Exception report 

message 

description The server encountered an internal error() that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: Error allocating a servlet instance 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164) 
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206) 
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833) 
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732) 
    org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619) 
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688) 
    java.lang.Thread.run(Unknown Source) 

root cause 

java.lang.UnsupportedClassVersionError: Bad version number in .class file 
    java.lang.ClassLoader.defineClass1(Native Method) 
    java.lang.ClassLoader.defineClass(Unknown Source) 
    java.security.SecureClassLoader.defineClass(Unknown Source) 
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1677) 
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:900) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1350) 
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1230) 
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164) 
    org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206) 
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833) 
    org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732) 
    org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619) 
    org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688) 
    java.lang.Thread.run(Unknown Source) 

note The full stack trace of the root cause is available in the Tomcat logs. 

任何想法?提前致謝。


更新:我用jdk1.5.0_16編譯的類,併爲Tomcat。我還將servlet.jar文件包含到該項目中,這可能是問題的原因嗎?

+0

你運行的是哪個版本的Tomcat? – 2010-11-03 15:43:34

+0

我使用的是tomcat-5.0.19的amm,能否導致Tomcat的版本導致這樣的問題? – hind 2010-11-04 10:14:01

+0

嘿,夥計們,問題現在已經解決了,原因是JDK的版本,我使用jdk1.5.0_16,但是當我用jdk1.6.0_21替換它時,問題就解決了,servlet工作得很好。 – hind 2010-11-04 13:28:04

回答

2

運行tomcat的java版本可能比您要執行的代碼舊。你應該更新java版本。

0

您的類使用與用於運行tomcat的版本不同的Java版本進行編譯。確保它們是一樣的。