# Tomcat funktioniert nicht so wie er sollte



## PeterRRR (15. Mrz 2009)

Hallo!

Ich lerne gerade das Programmieren von dynamischen Webanwendungen mit JSP. Als Server nutze ich Tomcat. Meine erste kleine (Test)Anwendung habe ich mit Eclipse erstellt und das hat auch problemlos funktioniert. Jetzt möchte bzw. muss ich aber den Tomcat-Server OHNE Eclipse verwenden, nur leider hab ich dabei folgendes Problem:

Das Starten des Servers (unter Windows) funktioniert problemlos und auch die Beispiel-JSPs können ganz normal aufgerufen werden. Sobald ich aber den WebContent-Ordner aus dem oben erwähnten Eclipse-Projekt in den webapps-Ordner von Tomcat kopiere und die in Eclipse erstellte und problemlos funktionierende JSP-Seite manuell im Browser aufrufe, bekommte ich den Fehler 404 von Tomcat. Auch wenn ich ein vorhandenes Beispiel-JSP im Explorer umbenenne und es dann aufrufen versuche, bekomme ich den selben Fehler.

Wo liegt da der Fehler?
Danke schon im Voraus für eure Hilfe!

lg
Peter


----------



## Noctarius (15. Mrz 2009)

tomcat_install_dir/webapps/NameDerWebapplication/start.jsp

http://localhost:8080/NameDerWebapplication/start.jsp


----------



## carina (15. Mrz 2009)

noch ein kleiner Tip, der zwar nicht direkt dein Problem löst, aber trotzdem viel Zeit und Fehlerquellen spart:

du solltest dir unbedingt das hin-und herkopieren deiner Dateien sparen. 
Dafür gibt es 2 Möglichkeiten:
1. Du hast deine Sourcen unter tomcat_install_dir/webapps/NameDerWebapplication/
Dann legst dafür im Eclipse einen Folder an, der einen Link auf das Dateisystem hat 
2. Du hast deine Sourcen im Eclipse Workspace. Dann ergänzt du in der server.xml ungefähr so was:

  <Context path="/NameDerWebapplication" docBase="c:/projekte/NameDerWebapplication/src/workspace/WebContent" debug="0" reloadable="true" crossContext="true">
               <Logger className="org.apache.catalina.logger.FileLogger" prefix="repertory" suffix=".txt"/>
               ....
        </Context>

Probier das mal, vielleicht sind dann auch deine 404 Probleme weg....
Carina


----------



## Noctarius (15. Mrz 2009)

Ich denke er hat einfach den Namen der Webanwendung weggelassen, bzw diese garnicht im Tomcat erstellt.

BTW: tomcat_install_dir/webapps/ROOT/start.jsp ist als Adresse dann http://localhost:8080/start.jsp


----------



## PeterRRR (15. Mrz 2009)

Ja, ich hab das mit den Verzeichnisnamen schon vorher genau so gemacht gehabt und nein, ich hab den Namen der Anwendung natürlich nicht vergessen. Trotzdem funktioniert es nicht. Auch wenn es im Root-Verzeichnis liegt, geht's nicht...

lg
Peter


----------



## HLX (15. Mrz 2009)

Deine Verzeichnisstruktur sollte vom Prinzip her so aussehen:

<tomcat_home>
-- <webapps>
----<meineAnwendung>
------ test.jsp
------ <WEB-INF>
-------- web.xml

Aufruf der Anwendung mit:
http://localhost:8080/meineAnwendung/test.jsp

Achtung: auf Groß- und Kleinschreibung achten!

Wichtig ist, dass das WEB-INF-Verzeichnis direkt im Anwendungsverzeichnis liegt und die Datei web.xml enthält, damit der Tomcat die Anwendung korrekt installieren kann.

Sollte das immer noch nicht funktionieren, lohnt sich ein Blick in die Log-Dateien unter <tomcat_home>/logs. Vielleicht konnte der Tomcat die Anwendung aus irgendeinem Grund nicht installieren (deployen) und findet somit natürlich auch nicht die JSP-Datei.


----------



## PeterRRR (15. Mrz 2009)

Ja, die Verzeichnisstruktur sieht genau so aus und auch die web.xml ist im entsprechenden Verzeichnis vorhanden (wie gesagt, ich hab den ganzen Ordner ja nur aus Eclipse kopiert). Trotzdem funktionierts nicht. Welche Log-Datei genau wäre denn relevant, weil im logs-Ordner gibt es ja mehrere Log-Dateien?

lg
Peter


----------



## Gast2 (15. Mrz 2009)

Wo muss man in einem Tomcat eine war datei legen??


----------



## mvitz (15. Mrz 2009)

SirWayne hat gesagt.:


> Wo muss man in einem Tomcat eine war datei legen??



<tomcat_home>
-- <webapps>


----------



## Gast2 (15. Mrz 2009)

ok dank dir war mir nicht ganz sicher...
habs bis jetzt auch nur in server.xml den pfad angegeben...


----------



## HLX (16. Mrz 2009)

PeterRRR hat gesagt.:


> JWelche Log-Datei genau wäre denn relevant, weil im logs-Ordner gibt es ja mehrere Log-Dateien?
> 
> lg
> Peter



catalina.<datum_des_Serverstarts>.log

Solltest du hier nichts finden, geh mal nach dem Start des Tomcat über "localhost:8080" in den Tomcat-Manager.

Ggf. musst du hierzu noch einen Benutzer zum Öffnen des Managers anlegen:
Datei <tomcat-home>\conf\tomcat-users.xml öffnen und folgendes ergänzen:

```
<role rolename="manager"/>
  <user username="manager" password="kennwort" roles="manager"/>
```

Der Manager zeigt dir an, welche Anwendungen im Tomcat aktiv sind und bietet dir jeweils einen Link an. Ist deine Anwendung nicht da, ist das Deployment schief gelaufen. Ansonsten stimmt irgendwas mit deinen Pfadangaben nicht.


----------



## PeterRRR (16. Mrz 2009)

Ich bin gerade draufgekommen, was der Fehler war! :idea:

Die "CATALINA_HOME"-Umgebungsvariable war falsch gesetzt, warum das so war weiß ich nicht. Ich hab sie sicher nicht gesetzt, weil ich bis vor kurzem davon nicht einmal etwas wusste. Jedenfalls hab ich sie jetzt aufs richtige Verzeichnis geändert und siehe da, es hat auf Anhieb funktioniert!  :toll:

Trotzdem danke nochmal an alle für die vielen Antworten!

lg
Peter


----------

