我編譯源到類Files
,然後在該文件夾的推杆:的Tomcat 5.5沒有找到我的servlet
Tomcat 5.5\WEB-INF\ROOT\classes\Files.class
,並將此向web.xml
文件:
<servlet>
<servlet-name>Files</servlet-name>
<servlet-class>Files</servlet-class>
</servlet>
但是當我試圖訪問URL http://localhost:8080/Files
時,我從Tomcat中得到這個錯誤: Tomcat 5.5 404 Error http://img251.imageshack.us/img251/5042/tomcat404.png
更新:加入<servlet-mapping>
後,我現在得到以下錯誤:
exception
javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:837)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1287)
java.lang.Thread.run(Unknown Source)
root cause
java.lang.NoClassDefFoundError: IllegalName: /Files
java.lang.ClassLoader.preDefineClass(Unknown Source)
java.lang.ClassLoader.defineClassCond(Unknown Source)
java.lang.ClassLoader.defineClass(Unknown Source)
java.security.SecureClassLoader.defineClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1960)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:931)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1405)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:837)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:640)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1287)
java.lang.Thread.run(Unknown Source)
注意,在默認包把Servlet類是不鼓勵的servlet。 Tomcat在這方面很寬鬆,但是在某些Tomcat配置和其他servlet容器中,您有可能無法定位/加載servlet。總是將其他類加載/導入的類放入包中。 – BalusC 2010-07-07 23:53:29
我知道,但這只是一個簡單的測試。然後我沒有使用這些軟件包。 – 2010-07-07 23:54:48
這可能是此問題的根源。在'/ logs'中讀取服務器的啓動日誌。 – BalusC 2010-07-08 00:27:27