2011-04-05 111 views
0

我正在開發一個使用Eclipse作爲IDE在Tomcat 6上運行的servlet。Tomcat:類未找到異常

Web應用程序的主要路徑是「Calcolatrice」,servlet ID的名稱也是「Calcolatrice」。

當我嘗試在Servlet中的以下異常扔執行一個簡單的GET操作:

javax.servlet.ServletException: Wrapper cannot find servlet class as.unibo.Calcolatrice or a class it depends on 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
java.lang.Thread.run(Thread.java:680) 

root cause 

java.lang.ClassNotFoundException: as.unibo.Calcolatrice 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
java.lang.Thread.run(Thread.java:680) 

什麼我不明白是爲什麼哪裏是servlet的這個包是「as.unibo.polac.server 「但Tomcat在另一個軟件包」as.unibo「中搜索它。

這可能是這個問題的原因?

[編輯]

這是我的web.xml文件的內容:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>Calcolatrice</display-name> 
    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
    <servlet> 
    <description></description> 
    <display-name>Calcolatrice</display-name> 
    <servlet-name>Calcolatrice</servlet-name> 
    <servlet-class>as.unibo.Calcolatrice</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Calcolatrice</servlet-name> 
    <url-pattern>/Calcolatrice</url-pattern> 
    </servlet-mapping> 

</web-app> 

它是正確的嗎?

+0

什麼是在你的web.xml? – Tommi 2011-04-05 08:56:59

+0

檢查你的web.xml。你有適當的條目嗎? – 2011-04-05 08:57:33

回答

3

因爲你的servlet是as.unibo.polac.server包你的web.xml應該是:

.... 
    <servlet> 
    <description></description> 
    <display-name>Calcolatrice</display-name> 
    <servlet-name>Calcolatrice</servlet-name> 
    <servlet-class>as.unibo.polac.server.Calcolatrice</servlet-class> 
    </servlet> 

..... 

類路徑是錯在你的web.xml。更新它。