Probleme mit Tomcat 3.3

Hallo zusammen,

Ich habe eine Anwendung mit JSPs und Servlets gebastelt und diese lief unter Tomcat 3.2.3. Jetzt habe ich Tomcat 3.3 installiert und konnte die ersten JSP-Seiten ausführen, aber nicht Servlets.
Ich habe unter /webapps einen ordner(myappl) erstellt, in dem die JSPs liegen.
Die Servlets liegen unter myappl/web-inf/classes in verschiedenen ordnern(Packages). Wo soll ich die Order von Packages bekanntgeben. Als Fehlermeldung kommt das die Datei nicht gefunden wird.

Vielen Dank

Tati

Probleme mit Tomcat 3.3
Hallo zusammen,

Ich habe eine Anwendung mit JSPs und Servlets gebastelt und
diese lief unter Tomcat 3.2.3. Jetzt habe ich Tomcat 3.3
installiert und konnte die ersten JSP-Seiten ausführen, aber
nicht Servlets.
Ich habe unter /webapps einen ordner(myappl) erstellt, in dem
die JSPs liegen.
Die Servlets liegen unter myappl/web-inf/classes in
verschiedenen ordnern(Packages). Wo soll ich die Order von
Packages bekanntgeben. Als Fehlermeldung kommt das die Datei
nicht gefunden wird und zwar wenn das Servlet mit POST aufgerufen wird.

Vielen Dank

Tati

Die Servlets liegen unter myappl/web-inf/classes in
verschiedenen ordnern(Packages). Wo soll ich die Order von
Packages bekanntgeben. Als Fehlermeldung kommt das die Datei
nicht gefunden wird und zwar wenn das Servlet mit POST
aufgerufen wird.

Hast du denn eine web.xml-Datei in dein myappl-Verzeichnis gelegt?
Falls nein, leg sie dort hin und trag deine Servlets darin ein.
Falls du nicht weisst, was die web.xml-Datei ist, gibt’s unter http://jakarta.apache.org/tomcat/tomcat-3.3-doc/appd… ein Beispiel. Für jedes Servlet benötigst Du ein servlet-Tag.

Hallo Jan-Peter,

in der Datei web.xml sind die Servlets bekannt gegeben und sieht folgendermaßen aus.

ShowParam/beispiel/daten/ShowParam
ShowParam/ShowParam

Auruf von dieser Seite ist:
http://localhost/myappl/ShowParam

Tati

Hi.

Wenn ich mich da mal einmischen darf:

ShowParam
/beispiel/daten/ShowParam

Hier muss der classname mit package Angabe stehen:
etwa so:

com.tati.mein.package.ShowParam

Gruss, Patrick

Hier muss der classname mit package Angabe stehen:
etwa
so:

com.tati.mein.package.ShowParam

Hallo,

soll hier nur beipiel.daten.ShowParam stehen oder mehr.
Das ist der Pfad, der im Verzeichnis classes steht.

Danke

soll hier nur beipiel.daten.ShowParam stehen oder mehr.
Das ist der Pfad, der im Verzeichnis classes steht.

Nein, nicht Verzeichnis sondern Package. Schau dir mal die
web.xml in %TOMCAT_HOME%/conf an.

Beispiel:

package com.test;

import ...;

public class TestServlet extends HttpServlet {

 public void doGet(HttpServletRequest req, HttpServletResponse res)
 throws ServletException, IOException {
 System.out.println("doGet");
 }
}

dann wuerde in meiner web.xml

com.test.TestServlet

stehen.
Das Servlet selbst liegt dann in WEB-INF/classes/com/test.

Wenn dein Servlet in keinem Package liegt, dann versuche es mal
ohne Package-Angabe. Bei mir ging es nicht, und ich habe dann
eben eins angelegt (so wie oben beschrieben).

Gruss, Patrick

Das ist der Pfad, der im Verzeichnis classes steht.

Ich glaube, ich habe dich erst missverstanden.
Wenn dein Servlet in WEB-INF/classes/beispiel/daten/ liegt,
dann muss da genau das in

soll hier nur beispiel.daten.ShowParam stehen oder mehr.

stehen.

Ignoriere in dem Fall meine letzte Antwort.

Gruss, Patrick

Hi,

ich habe es gerade getest und es wird trotzdem der Fehler angezeigt, das das Servlet nicht gefunden werden kann.

Tati

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Folgende Sachen muessen gegeben sein, wenn

beispiel.daten.ShowParam
  1. das Servlet muss den Eintrag package beispiel.daten; enthalten
  2. die Klasse liegt in /WEB-INF/classes/beispiel/daten
  3. eben der obige Eintrag in der /mywebapp/WEB-INF/web.xml

Mehr faellt mir jetzt auch nicht ein. Das muss klappen (ich habe
das bei mir mit dem TestServlet und Tomcat 3.3 und 4.1 getestet).
Schau dir nochmal alles der Reihe nach an. Auch die Fehlermeldung.
Vielleicht kannst du daraus was erkennen (falsche Pfadangabe oder
irgendwas).

Gruss, Patrick

Die Sevlets werden jetzt richtig aufgerufen. Aber jetzt gibts ein anderes Problem. Die Anwendung soll unter IIS laufen. Wir haben so weit gebracht, das die JSPs, Servlets mit GET aufgerufen werden können. Aber Servlet, die mit POST aufgerufen werden, werden nicht angezeigt. Wir haben mit redirekt schon konfiguriert.
Was sollte gemacht werden damit die Servlet mit POST erkannt werden können.

Vielen Dank

Tati