PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich finde die Servlets nicht



mamue
26.12.04, 23:00
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

mamue
27.12.04, 22:29
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

mamue
28.12.04, 20:05
<schieb hoch>
Ich weiß, ich bin etwas quengelig, aber eine Antwort würde mir sehr weiterhelfen.
Danke,
mamue

Daim
28.12.04, 20:22
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

Jinto
28.12.04, 21:22
Was sagt denn dein w3m dazu, wenn du nur locahost:8080 aufrufst? Kommst du darüber an die Servlets?

mamue
28.12.04, 21:50
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

mamue
28.12.04, 21:54
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

Jinto
28.12.04, 22:13
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?

mamue
28.12.04, 23:20
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

Jinto
28.12.04, 23:36
- 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?

mamue
29.12.04, 12:18
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

mamue
29.12.04, 12:39
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

Jinto
29.12.04, 15:04
Das komische bei dir ist halt nur, dass er dir nur ne leere Seite angezeigt hat. Aber Hauptsache es funktioniert nun.

Viel Spass.