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
- das Servlet muss den Eintrag package beispiel.daten; enthalten
- die Klasse liegt in /WEB-INF/classes/beispiel/daten
- 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