HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
java.lang.Thread.run(Thread.java:619)
root cause java.lang.NoClassDefFoundError: HelloWorldServlet (wrong name: com/chenlong/servlet/HelloWorldServlet)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:616)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
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.Http11AprProcessor.process(Http11AprProcessor.java:864)
org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
java.lang.Thread.run(Thread.java:619)
servlet的class文件放置位置 D:\tomcat6.0.32\webapps\test\WEB-INF\classesweb.xml 配置如下 
         <servlet>
     <display-name>HW</display-name>
     <servlet-name>HW</servlet-name>
              <servlet-class>HelloWorldServlet</servlet-class>
</servlet>

<servlet-mapping>
     <servlet-name>HW</servlet-name>
     <url-pattern>/abc</url-pattern>
</servlet-mapping>

IE上输入地址 http://localhost:8080/test/abc 就会出现上面HTTP 500的错误,求高手帮忙解决一下,谢谢了!

解决方案 »

  1.   

      <servlet>
    <display-name>HW</display-name>
    <servlet-name>HW</servlet-name> 
      <servlet-class>HelloWorldServlet</servlet-class>
    </servlet>
    这里的HelloWorldServlet写全路径com.chenlong.servlet.HelloWorldServlet
      

  2.   

    路径改成这样的 还是会有错误 跟以前的错误有了一点差别type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Wrapper cannot find servlet class com.chenlong.servlet.HelloWorldServlet 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:619)
    root cause java.lang.ClassNotFoundException: com.chenlong.servlet.HelloWorldServlet
    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:619)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.
      

  3.   

      <servlet-class>HelloWorldServlet</servlet-class>
    这里需要包的全名
      

  4.   

    com.chenlong.servlet.HelloWorldServlet
    有这个类吗?
      

  5.   

    com.chenlong.servlet.HelloWorldServlet
    这个就是我自己写的那个类的所在的包下的位置  
      

  6.   

    <servlet-class>com.chenlong.servlet.HelloWorldServlet</servlet-class>
      

  7.   

    LZ注意java.lang.ClassNotFoundException: com.chenlong.servlet.HelloWorldServlet
    就是这句话,不是配置文件出错,就是类没放对。
    WEB-INF\classes\com/chenlong/servlet/HelloWorldServlet
      

  8.   

    配置文件有问题。
    以前我写也出现这种情况。建议修改一下xml,要更改为完整路径。