Beim Versuch, ein Java-Servlet unter Eclipse (Ganymede) auszuführen, sehe ich ein Problem. Ich verwende Java 1.6 und Apache Tomcat 6.0.Problem beim Ausführen eines Servlets
Hier ist, was ich tue:
- Stopp Tomcat.
- Neues dynamisches Webprojekt.
- Rufen Sie das Projekt Testproject
- Verwendung von Standardoptionen: Kontext = "Testproject" Context Directory = "WebContent", Java Source Directory = "src"
- Direkt am Projekt klicken und neue Servlet
- Standard verwenden wählen Paket und rufen die Klasse „HelloTest“ alle anderen Optionen sind defult
- ändern URL Mapping/hallo
der Kodex für das Servlet ist wie folgt (ich habe nur die doGet und doPost Methoden alles andere bearbeitet ist Gattungen ted):
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class HelloTest
*/
public class HelloTest extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public HelloTest() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.write("Hello World");
writer.flush();
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
}
Hier ist, wie ich versuche, das Projekt auszuführen: 1. Speichern Sie das Projekt 2. Recht auf das Projekt klicken, und wählen Sie auf dem Server ausgeführt werden. 3. Wählen Sie den vorhandenen Tomcat-Server 4. Klicken Sie auf Fertig stellen.
Wenn ich versuche, zu http://localhost:8080/TestProject/hello zu suchen, erhalte ich eine Ausnahme, die besagt, dass die Klasse nicht gefunden wurde.
javax.servlet.ServletException: Wrapper cannot find servlet class HelloTest or a class it depends on
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
Ursache
java.lang.ClassNotFoundException: HelloTest
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
mache ich etwas falsch?
Wenn ich eine .jsp-Seite namens test.jsp hinzufüge, wird sie perfekt angezeigt, daher weiß ich, dass Tomcat Seiten ausführt und bedient und dass ich den richtigen Pfad habe.
Haben Sie versucht, Ihr Servlet in ein Paket anstelle des Standardpakets zu setzen? Wie ist Ihr Servlet in der Datei web.xml abgebildet? – pgb
Das Projekt wurde nicht automatisch erstellt. Menü> Projekt> Automatisch erstellen. –