Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich finde die Servlets nicht
Ich bin wohl schlicht zu blöd, aber ich kann unter meinem neuen SuSE9.1 server nicht auf die installierten Beispielservlets zugreifen. Ich sehe verschiedene Servlets unter /srv/www/tomcat/demoserver/(..)/classes/, zum Beispiel HelloWorldServlet.class, aber was immer ich auch als URL hinter w3m http://localhost:8080/ eingebe, ich bekomme immer nur eine leere Seite. rcstatus tomcat sagt: running.
Auf einem anderen Server mit SuSE8.2 habe ich das schon mal hinbekommen, aber hier sehe ich es einfach nicht. Ich habe versucht die /etc/tomcat/web.xml und einige andere dort zu verstehen, weiß aber eigentlich nur, daß der Server offenbar wirklich per default auf Port 8080 lauscht.
Hat jemand eine SuSE9.1 und weiß die richtige URL?
Danke,
mamue
Verwendet denn hier keiner Servlets unter SuSE9.1? Wahrscheinlich sieht es unter 9.0 und 9.2 genauso aus, unter 8.x hingegen waren die Servlets noch unter /opt/jakarta... und die passende URL habe ich mir in mein Makefile eingetragen als Gedankenstütze - die jetzt nichts mehr wert ist.
Weiß denn niemand Rat?
Danke,
mamue
<schieb hoch>
Ich weiß, ich bin etwas quengelig, aber eine Antwort würde mir sehr weiterhelfen.
Danke,
mamue
Was ist denn dein Standard htdocs verzeichnis? Müsste in apache konfiguration stehen. Dann kopierste deine Servelts hinein, und rufst sie dann ganz normal auf.
Daim
Was sagt denn dein w3m dazu, wenn du nur locahost:8080 aufrufst? Kommst du darüber an die Servlets?
Verstehe ich da etwas falsch?
Ich meine nicht die PHP-scripte, sondern die Java-servlets. Eines liegt zum Beispiel unter tomcat, welches ja an port 8080 lauscht und eigentlich nicht so ganz viel mit dem Webserver gemein hat, ausser dem gleichen Basisiverzeichniss.
Die Webseiten liegen bei mir unter /srv/www/htdocs, die Servlets unter /srv/www/tomcat, zum Beispiel:
/srv/www/tomcat/demoserver/webapps/servlets-examples/WEB-INF/classes/HelloWorldExample.class
Wie mag jetzt nur die URL zu HelloWorldExample lauten?
Ich hätte so etwas in der Art:
http://my-ip:8080/demoserver/HelloWorldExample
http://my-ip:8080/demoserver/webapps/HelloWorldExample
http://my-ip:8080/demoserver/servlets-examples/HelloWorldExample
http://my-ip:8080/servlets-examples/HelloWorldExample
oder so etwas ähnliches vermutet, aber bislang habe ich daneben geraten.
Apache wird wohl kaum in der Lage sein, etwas mit den *.class anzufangen.
Danke,
mamue
Was sagt denn dein w3m dazu, wenn du nur locahost:8080 aufrufst? Kommst du darüber an die Servlets?
"No line" sagt w3m.
Mozilla von einem anderen System sagt das gleiche (Leere Seite). Tomcat ist gestartet und braucht auch eine Weile, bis der Prozess "javac" durch ist. Oder hieß der Prozess "java"?
Ratlos,
mamue
Tomcat ist ein eigenständiger Webserver und hat nichts mit apache zu tun. Es gibt, aber 2 module, die beide Server mitenander verbinden.
Tomcat hat seine eigenen Konfigurationsdateien und auch eigene Verzeichnisse. Normalerweise ist dies _nicht_ das htdocs Verzeichnis des Apache.
javac ist der java Compiler und übersetzt die *.java files in *.class files, die der tomcat dann ausführt. Die Übersetzung findet einmalig statt bzw. erst wieder, nachdem die *.java Datei aktueller ist als das *.class file.
Der genaue Aufrufpfad, ist manchmal etwas gewöhnungsbedürftig. Aus diesem Grund würde ich empfehlen die Standard Beispiele des Tomcat zu verwenden. Diese sind i.d.R. über die Startseite localhost:8080 zu erreichen.
- Wie hast du Tomcat installiert? yast? src?
- passende URL ins Makefile eingetragen?
1.: Der genaue Aufrufpfad, ist manchmal etwas gewöhnungsbedürftig. Aus diesem Grund würde ich empfehlen die Standard Beispiele des Tomcat zu verwenden. Diese sind i.d.R. über die Startseite localhost:8080 zu erreichen.
2.: - Wie hast du Tomcat installiert? yast? src?
3.: - passende URL ins Makefile eingetragen?
1.: Eben, schon das letzte mal habe ich recht lange gesucht. Das war unter SuSE8.2
2.: Ich habe mit yast installiert inklusive der Beispiele. Die sehe ich ja auch im Dateisystem wie oben von mir angegeben.
3.: Auf dem anderen System ist alle prima, ich habe auch ein paar eigene Servlets zum laufen gebracht (OK, billig nach examples kopiert, aber was solls). Hier sehe ich keines der Beispiele, ich bin einfach zu blöd, die richtige URL herauszufinden.
Danke,
mamue
- läuft tomcat wirklich? ps aux
- horcht er auch tatsächlich auf port 8080? (netstat -anp)
- hat das Verzeichnis und ide dateien die richtigen userrechte? (vergleiche ps aux mit ls -l)
- was sagt das catalina log?
ps axu|grep tomc
tomcat 2920 61.1 2.5 226576 26224 pts/0 R 12:06 0:06 /usr/lib/SunJava2-1.4/bin/java -Djava.endorsed.dirs=/usr/share/tomcat/common/endorsed -classpath /usr/lib/SunJava2-1.4/lib/tools.jar:/usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.io.tmpdir=/usr/share/tomcat/temp org.apache.catalina.startup.Bootstrap start
Netstat:
netstat -anp|grep 8080
tcp 0 0 :::8080 :::* LISTEN 2920/java
Catalina.out sagt eine Menge "Initializing " dies und jenes und "INFO: Starting Coyote HTTP/1.1 on port 8080"
Einzelne Zugriffe, etwa auf http://my-ip:8080 werden nicht protokolliert.
Ach ja, firewall ist natürlich aus. Der Server hat mehrere Interfaces.
Soll ich lieber tomcat selber von apache.org installieren?
Danke,
mamue
Also habe ich jetzt einfach mal die jakarta-tomcat binaries gezogen, entpackt und startup.sh ausgeführt - und siehe da, jetzt sehe ich tomcats Beispielseiten.
Weiß der Himmel, was ich bei der Installation falsch gemacht habe, ich lass es einfach und nehme halt diese Version. Es sollte ja kein Problem sein, bei nächster Gelegenheit zu wechseln.
ich dachte halt zuerst, es wäre eine winzige Kleinigkeit, die ich übersehen hätte.
Danke an alle,
mamue
Das komische bei dir ist halt nur, dass er dir nur ne leere Seite angezeigt hat. Aber Hauptsache es funktioniert nun.
Viel Spass.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.