Ich habe Probleme mit meine erste servlet

Dies ist der code zu meinem servlet...

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

public class HelloWorld extends HttpServlet {
    private String message;

    public void init(){
        message="Hello World";
    }
    public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<h1>"+message+"</h1>");
    }

    public void destroy(){
    }
}

Bin ich mit xampp ist tomcat 7

- und das ist meine web.xml Datei

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                  http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
 metadata-complete="true">

<servlet>
    <servlet-name>HelloWorld</servlet-name>
    <servlet-class>HelloWorld</servlet-class>
</servlet>

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

Meine web.xml im %TOMCAT_HOME%/webapps/ROOT/Verzeichnis WEB_INF
und meine HelloWorld.class im %TOMCAT_HOME%/webapps/ROOT/WEB_INF/classes-Verzeichnis.

wenn ich versuche meine Datei von meinem browser, die ich geben

http://localhost:8080/HelloWorld

in der addressbar
und die folgenden Servlet-Ausnahme zeigt sich

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Error instantiating servlet class HelloWorld
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:724)

root cause

java.lang.NoClassDefFoundError: HelloWorld (wrong name: com/HelloWorld/HelloWorld)
    java.lang.ClassLoader.defineClass1(Native Method)
    java.lang.ClassLoader.defineClass(ClassLoader.java:752)
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2820)
    org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1523)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:724)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.21 logs.

Bitte eine Methode vorschlagen, um mein app richtig...

  • es scheint, dass Sie vergaß hinzuzufügen, die ServletException
  • Die SErvletException?
  • Es war eine große Seite mit einer Menge von Fehler, irgendwie war ich nicht in der Lage, es hier zu posten.Stack Overflow halten würde, gibt Fehler der Einrückung auch wenn ich kümmerte sich um Sie.
  • eine Sache zu tun während der Entsendung-code, fügen Sie ihn in den Textbereich, und wählen Sie dann den gesamten code und drücken Sie ctrl + k
  • hier gehen Sie dies ist der servlet-exception
  • hat deine Klasse eine Paket-oder haben Sie es in einem Verzeichnis namens com/HelloWorld/
  • sieht aus wie Ihre Klasse definiert ist, in einem Paket namens com/HelloWorld, ist es eine package-definition am Anfang der java-Datei
  • "Ich habe Probleme mit mein erstes servlet" muss in die form einer Frage zu Folgen, die gewaltige Q&A-format.

InformationsquelleAutor Sabre.Tooth | 2013-07-02
Schreibe einen Kommentar