初入servlet:Allocate exception for servlet

老闆,來一碗錯誤墊墊肚子!
如果以下幾個錯誤都符合,估計就是這個原因了。
頁面報錯如下:

java.lang.NoClassDefFoundError:IllegalName: firstDemo/Test

       java.lang.ClassLoader.preDefineClass(Unknown Source)

       java.lang.ClassLoader.defineClass(Unknown Source)

       java.security.SecureClassLoader.defineClass(Unknown Source)

org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2277)

org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:811)

org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254)

org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)

org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)

org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)

org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)

org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

       java.util.concurrent.ThreadPoolExecutor.runWorker(UnknownSource)

       java.util.concurrent.ThreadPoolExecutor$Worker.run(UnknownSource)

org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

       java.lang.Thread.run(Unknown Source)

截圖:


控制檯報錯:

Exception Processing /test/hello

java.lang.NoClassDefFoundError: IllegalName: firstDemo/Test

   atjava.lang.ClassLoader.preDefineClass(Unknown Source)

   atjava.lang.ClassLoader.defineClass(Unknown Source)

   atjava.security.SecureClassLoader.defineClass(Unknown Source)

   atorg.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2277)

   atorg.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:811)

   atorg.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254)

   atorg.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)

   atorg.apache.catalina.core.StandardWrapper.servletSecurityAnnotationScan(StandardWrapper.java:1128)

   at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)

   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)

   atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)

   atorg.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)

   atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

   atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

   atorg.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)

   at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

   atorg.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)

   atorg.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)

   atorg.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

   atjava.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

   atjava.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

   at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

   at java.lang.Thread.run(Unknown Source)

截圖如下:


看了好久,發現是在web.xml中配置錯了,複製程序的完整路徑直接粘貼過來,去掉開頭的src什麼的,最後是這樣的<servlet-class>firstDemo/Test</servlet-class>

然而這裏應該寫包名.類名。疏忽大意了

重新配置一下後正確。


發佈了55 篇原創文章 · 獲贊 59 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章