servlet.jar einbinden

Status
Nicht offen für weitere Antworten.

puck

Mitglied
Hallo, zusammen.
Aus der Problematik meines letzten Threads bin ich schon mal raus. Ich habe unter Eclipse einfach mal ein neues Servlet-Projekt erstellt, worauf ein ( wie auch KAUM anders zu vermuten war ) Verzeichnis mit diesem Namen und der typischen Servlet-Struktur erstellt wurde.
Nun möchte ich halt eine Servlet erstellen, welches von aussen aufgerufen werden kann. Wenn ich unter Eclipse jetzt eine neue Klasse anlegen möchte, wird mir aber immer nur "java.lang.Object" als Superklasse/Bibliothek angeboten.
Damit kann ich aber natürlich keine Servlets erstellen, sondern nur mit "javax.servlet.*".

Im Menü Window/Preferences/Tomcat/JVM Einstellung kann man den Classpath erweitern. Hier habe ich servlet-2.3.jar eingebunden. Das hat aber nicht geholfen.

Was ist noch zu tun?

Gruss Christian
 
ihr immer mit eurem classpath ...

einfach unter eclipse:

project -> properties -> java build path -> libraries -> add external jars ...
 
byto hat gesagt.:
ihr immer mit eurem classpath ...

einfach unter eclipse:

project -> properties -> java build path -> libraries -> add external jars ...

Jaja, da habe ich das auch eingebunden. Aber trotzdem bietet er/es (Eclipse) mir als Superklasse NUR java.lang.Object an! ???:L
 
also erstens kannst du das auch easy per hand reintippen. ein ... extends Superclass is wohl nich zu viel arbeit:

Code:
class MyServlet extends HttpServlet { ... }

zweitens gibts da einen knopf "browse" mit dem du jede superklasse wählen kannst, die dir beliebt.
 
Noch etwas anderes "disst" mich.
Ich habe jetzt die zu "includeierenden" jar-Files manuell eingetragen. Das ganze sieht jetzt so aus:
Code:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class HelloServlet extends javax.servlet.http.HttpServlet
{
	  public void doGet( HttpServletRequest requ, HttpServletResponse resp )
	  throws ServletException, IOException
	  {
	    resp.setContentType( "text/html" );
	    PrintWriter out = resp.getWriter();
	    out.println( "<html>" );
	    out.println( "Hallo, mein erstes Servlet meldet sich." );
	    out.println( "</html>" );
	    out.close();
	  }
}

Eclispe sollte doch wissen, dass es sich um ein Servlet handelt, dass es keine Main braucht usw.
Aber ich bekomme diese Meldung in der Ausgabe:

java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap
Exception in thread "main"

Und das verstehe ich nicht!!!
Im übrigen finde ich wirklich dass die Classpath-Geschichte das nervigste an Java ist. Dauernd stolpere ich darüber!

Gibt es eigentlich irgend ein Forum eine Newsgroup oder Ähnliches, wo man solche Probleme mit Eclipse und Servlets besprechen kann? Ich komme mir hier etwas deplaziert vor!
Es gibt ein Eclipse-Forum: www.eclipseproject.de/
aber da tut sich leider nicht so viel!

Gruss Christian
 
byto hat gesagt.:
also erstens kannst du das auch easy per hand reintippen. ein ... extends Superclass is wohl nich zu viel arbeit:

Code:
class MyServlet extends HttpServlet { ... }

zweitens gibts da einen knopf "browse" mit dem du jede superklasse wählen kannst, die dir beliebt.

Wo soll dieser Browse-Knopf sein?
 
wenn du ne neue klasse anlegst gibts ein feld wo du ne superklasse angeben kannst. dort steht standardmäßig object drin und daneben ist ein knopf browse. dachte das war deine frage vorhin?

wegen der fehlermeldung: du kannst servlets nicht einfach mit eclipse ausführen. du musst es deployen in deinem servlet container, sprich ins entsprechende tomcat verzeichnis kopieren (webapps wenn ich mich richtig erinnere). dann kannst du es mit dem browser öffnen über http://localhost:8080/servletname ...

es gibt auch entsprechende plugins für eclipse, die dir das arbeiten mit servlets und co. erleichtern. guck dich z.b. mal nach jboss um und stell alle weiteren fragen in zusammenhang mit servlets am besten in diesem unterforum, da wird dir eher geholfen:

http://www.java-forum.org/de/viewforum.php?f=26



nochwas:

wenn du schon folgendes importierst:

Code:
import javax.servlet.http.*;

dann brauchst du nur noch das hier schreiben:

Code:
public class HelloServlet extends HttpServlet  {...}
 
Ich habe doch das entsprechende Plugin von Sysdeo installiert. Dies soll, laut Beschreibung mir die Arbeit mit dem Deploy usw. abnehmen!?!
 
Alsoo, bei mir ist immer noch das Problem daß sich mein Servlet nicht kompilieren lässt.
Ich habe den Eindruck, daß Eclipse meinen Quellcode gegen die normalen Java.io Bibliotheken versucht zu kompiliren.
Ich kann zwar ein Tomcat-Projekt anlegen, und es wird dann im Package Explorer die typische Struktur eines WAR-Packages angelegt.
Wenn ich jedoch eine neue Klasse hinzufügen möchte, bekomme ich immer "java.lang.Object" als Superklasse vorgegeben. Ich habe die servlet.jar zu den "External Jar's" hinzugefügt aber ich bekomme immer folgende Fehlermeldung:
Code:
java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap
Exception in thread "main"

Was mich vermuten lässt, dass er eine normale Java-Aplikation erwartet!?!

Wenn ich mich irre, sagts mir...

Gruss Christian
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben