Servlets in Eclipse

Das mit den Einträgen in der Web.xml und in der config.xml steht alles genau in meiner Beschreibung drinnen.

Das mit dem Speichern hat bei mir manchmal nicht funktioniert, darum 'run'

Mfg Rmi
 
Hallo RMI!

Das mit den Einträgen in der Web.xml und in der config.xml steht alles genau in meiner Beschreibung drinnen.

In deinem Dokument sind einige Schnitzer drin, die so zu Fehlern bzw. einer verkorksten Konfiguration führen können. Weiterhin solltest du an einigen Stellen etwas präzisier werden um Verständinsprobleme zu vermeiden.

Tomcat Download:
http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi
Tomcat Dokumentation:
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/index.html

JRE/JDK Download:
http://java.sun.com/j2se/1.5.0/download.jsp

Das Tomcat-Plugin von Sysdeo:
http://www.sysdeo.com/eclipse/tomcatplugin
(Installationsanweisungen zum Plugin findet man im entsprechenden zip File unter readme.html und readmeDevLoader.html (wichtig!)).

zum Thema Java-Installation.
Wenn du die Umgebungsvariable JAVA_HOME setzt, dann solltest du sie auch in den PATH mit aufnehmen als:
%JAVA_HOME%\bin;....

Da wir ja das sysdeo Plugin haben solltest du vielleicht beschreiben, wie man damit den Tomcat startet und stoppt.

Nachdem man das Projekt gefertigt hat muss man die Dateien in die richtigen Verzeichnisse verschieben und man kann die Servlets ausführen.
Das macht Eclipse für dich ;-) (Der Output Folder eines tomcat Projekts ist standardmäßig WEB-INF/classes)

Nun soll ein Verzeichnis unter C:\Tomcat\webapps erstellt werden, wir nennen den Ordner hier „exampleServlet“. Unter exampleServlet kommt ein Verzeichnis namens WEB-INF, in das Verzeichnis kommt ebenfalls die Datei index.html die das Servlet aufruft.
Brauchst du auch nicht. Wenn du das sysdeo Plugin verwendest, kannst du das Tomcat-Project direkt als webapp in den Tomcat einbinden. Aufrufen kannst du deine Webanwendung dann beispielsweise über http://localhost:8080/der.name.deines.projektes/deineServletMappingURL

Diese Datei legt die Startklasse fest und mappt das Servlet auf einen Pfad.
Eher auf ein URL Muster.

Bevor man das Servlet nun starten kann muss man noch einige Änderungen an der Datei C:\Tomcat\conf\server.xml gemacht werden.

Es sollte der Eintrag

<Context path=“ “ docbase=“ROOT“ debug=“0“ />

angefügt werden.
..
Brauchst du nicht, das mancht das Sysdeo Plugin für dich... (Rechte Maus aufs Projekt->Tomcat-Project Menu und Project Properties-> Tomcat)

Und in der Datei web.xml im selben Verzeichnis sollte nun der auskommentierte Eintrag

<servlet>

<servlet-name>invoker</servlet-name>

<servlet-class>org.apache.catalina.servlets.InvokerServlet </servlet-class>


...
Das würde ich dir nicht empfehlen. Das InvokerServlet erlaubt es über eine spezielle URL auch Servlets aufzurufen, die nicht in der web.xml deklariert sind... stellt also ein potentielles Sicherheitsrisiko dar und ist auch sonst für die Verwendung von Servlets nicht notwendig.

Als erstes sollte man den Server ggf. neustarten oder starten. Nun kann man das Servlet aufrufen http://localhost:8080/exampleServlet/ nun sieht man die vorher erstellte index.html mit dem Link auf das Servlet. Wenn man darauf klickt startet das Servlet.
Wenn du mit dem sysde Plugin arbeitest mußt du den Server nicht neu starten... Wenn du den Code der Klasse geändert hast bekommt er das sofort mit. Auch Änderungen in der Web.xml werden sofoert erfasst. Sollte der Tomcat diese Änderungen mal verpennen kann man das ganz schnell via Kontext-Menu (Rechtsklick auf Projekt) Tomcat-Project-> Reload this Context nachholen.

Gruß Tom
 
Erstmal danke!

Aber: Die Servlets die ich schreibe laufen nicht auf meinem PC sondern auf einem Server in einer Firma. Ich binde sie nur so ein dass ich sie testen kann.

Die Doku hab ich am Morgen um kurz nach sieben in 3 Minuten schnel hingeschrieben. 'Stichwortartig'. Is ja nur für die Entwicklungsumgebung.

Und ausserdem mag ich es nicht wenn ein Programm alles macht und ich keine Ahnung habe was es da überhaupt macht. Wenn nämlich alles steht weil irgendawas verkorkst ist mochte ich ne Ahnung haben was ich machen muss damit alles wieder läuft.

Mfg Rmi
 
Erstmal wiedermal Danke für eure Antworten, und so wie es ihr mir erklärt habt versteh ich es auch schon ganz gut :)

Aber die eine Frabe die ich schon paar Posts oberbei gestellt habe plagt mich noch immer.

Was ist das für eine besondere Klasse wenn man auf das SERVLET (siehe 1. Post, Abb.1) klickt.
Bei mir gibts immer einen Fehler aus, und ich habs nirgendwo eine Dokumentation oder ähnliches gefunden. Vl. ist ja irgendwo an diesem Forum ein ECLIPSE FREAK.

Mfg Le0
 
Zurück