我正在使用Eclipse作为IDE在Tomcat 6上开发一个servlet。
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>这是正确的吗?
发布于 2011-04-05 09:05:23
因为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中是错误的。更新一下。
https://stackoverflow.com/questions/5549428
复制相似问题