HTTP状态500 - 在TOMCAT 7

时间:2016-02-10 02:58:40

标签: tomcat7

我开始使用Tomcat,这是我的第一次练习。我创建了一个TestServlet并将其放在C:\ tomcat-7.0.34 \ apache-tomcat-7.0.34 \ webapps \ ROOT \ WEB-INF \ classes下。重要的是,这是在一台计算机上工作,而在另一台计算机上不工作。我已经验证了类路径和路径是正确的。如果我删除TestServlet.class文件(放在classes目录下),tomcat在启动时会出错。如果没有,没关系。这意味着基于web.xml文件,加载了servelet?如果是这样,当我将其作为" localhost:8080 / TestServlet"调用时,为什么会出现HTTP 500错误。

WEB-INF下的web.xml文件如下:

<display-name>Welcome to Tomcat</display-name>
<description>
    Welcome to Tomcat
</description>
<servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>TestServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/TestServlet</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>TestServlet2</servlet-name>
    <servlet-class>TestServlet2</servlet-class>
</servlet>
 <servlet-mapping>
    <servlet-name>TestServlet2</servlet-name>
    <url-pattern>/TestServlet2</url-pattern>
</servlet-mapping>

我的TestServlet代码如下:

import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;

public class TestServlet extends HttpServlet {...

我很沮丧 - 花了差不多8小时试图解决这个问题..

非常感谢帮助。

完整追踪:     信息:ContextListener:contextInitialized()     2016年2月9日下午11:58:18 org.apache.catalina.core.ApplicationContext日志     信息:SessionListener:contextInitialized()     2016年2月9日下午11:58:18 org.apache.catalina.core.ApplicationContext日志     INFO:ContextListener:attributeAdded(&#39; org.apache.jasper.compiler.TldLocationsCache&#39;,&#39; org.apache.jasper.compiler.TldLocationsCache@71ccdf3d')     2016年2月9日下午11:58:56 org.apache.catalina.core.ApplicationContext日志     信息:将servlet TestServlet标记为不可用     2016年2月9日11:58:56 org.apache.catalina.core.StandardWrapperValve调用     SEVERE:为servlet TestServlet分配异常     java.lang.ClassNotFoundException:TestServlet     在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)     在org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)     at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)     在org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)     at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)     在org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1137)     在org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:858)     在org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136)     在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)     在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)     在org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)     在org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)     在org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)     在org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)     at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:589)     在org.apache.tomcat.util.net.AprEndpoint $ SocketProcessor.run(AprEndpoint.java:1822)     at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)     at java.util.concurrent.ThreadPoolExecutor $ Worker.run(Unknown Source)     在java.lang.Thread.run(未知来源)

对不起,最后,我发现了这个问题..由于某种原因,&#34;类&#34;目录是cap&#34; Classes&#34;。一旦我重命名它,它就有效了!

0 个答案:

没有答案