java清理Tomcat服务器导致500错误
我有一个运行良好的Servlet。由于一些奇怪的错误,我在探索这个空间(这个Servlet领域的新手),并选择“清理”服务器(而不是项目)。这样做之后,我得到了以下错误:
HTTP Status 500 - Wrapper cannot find servlet class MyServ or a class it depends on
我看到了其他人在哪里遇到这个错误,因为Servlet没有定义包,但这个Servlet正在工作,我从未更改过Servlet代码
是什么导致了这一切?我正在使用Eclipse开普勒来运行这个环境
堆栈跟踪:
Apr 24, 2014 7:14:16 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Allocate exception for servlet MyServ
java.lang.ClassNotFoundException: MyServ
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1128)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:827)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:744)
网络。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" 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>Serv</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>MyServ</display-name>
<servlet-name>MyServ</servlet-name>
<servlet-class>MyServ</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>MyServ</servlet-name>
<url-pattern>/MyServ</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MyServ</servlet-name>
<url-pattern>/Logs/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>MyServ</servlet-name>
<url-pattern>/Analyzer/*</url-pattern>
</servlet-mapping>
</web-app>
显示如何构建不是选项的图片
# 1 楼答案
JVM正在抛出ClassNotFoundException,因为项目中没有WEB-INF下的MyServ类。通过在包中移动servlet Java类重构servlet,并在web下包含完全限定的类。属于该项目的xml&;不是雄猫。web中的Servlet类。xml应该是:
# 2 楼答案
我不得不删除旧的servlet,然后从头开始构建一个新的servlet
# 3 楼答案
这里需要注意以下几点:
在默认包中包含servlet的类是一种非常糟糕的做法。尝试将servlet(MyServ)添加到适当的包中
错误表明找不到servlet。清理后你编译了吗。您可以在servlet中进行一些更改以强制编译
您还可以停止服务器、清理项目和刷新