# Tomcat: The requested resource () is not available



## Raumsonde (9. Mrz 2009)

Ich habe Tomcat 6.0.18 incl. Examples installiert.
Wenn ich Tomcat starte, bekomme ich auch die
Apache Tomcat Startseite unter "http://localhost:8080/"
zu sehen.

Der Aufruf der Beispiele funktioniert auch ohne Probleme
(z.B. "http://localhost:8080/examples/servlets/servlet/HelloWorldExample")

Nun wollte ich mein erstes Servlet testen
(übernommen aus dem Buch Head First Servlets & JSP).

Ich habe unter Tomcat\webapps das Verzeichnis ch1, darunter das Verzeichnis WEB-INF
und darunter das Verzeichnis classes angelegt.

Die web.xml-Datei habe ich ins WEB-INF und die
Klassendatei in classes gelegt:

```
Tomcat
 webapps
  ch1
   WEB-INF
    web.xml
    classes
     Ch1Servlet.class
```
Wenn ich nun versuche, das Servlet mit "http://localhost:8080/ch1/Serv1"
aufzurufen, erhalte ich die Meldung:

HTTP Status 404 -
type Status report
message
description The requested resource () is not available.
Apache Tomcat/6.0.18

Inhalt meiner web.xml:


```
<?xml version="1.0" encoding="ISO-8851-1" ?>
 <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
            http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
            version="2.4">

            <servlet>
                        <servlet-name>Chapter1 Servlet</servlet-name>
                        <servlet-class>Ch1Servlet</servlet-class>
            </servlet>
            <servlet-mapping>
                        <servlet-name>Chapter1 Servlet</servlet-name>
                        <url-pattern>/Serv1</url-pattern>
            </servlet-mapping>
 </web-app>
```

Was muß ich ändern, damit der Aufruf des Servlets
mit "http://localhost:8080/ch1/Serv1" funktioniert?


----------



## Raumsonde (9. Mrz 2009)

Es funktioniert jetzt, nachdem ich meine web.xml folgendermaßen geändert habe:


```
<web-app>
            <servlet>
                        <servlet-name>Chapter1Servlet</servlet-name>
                        <servlet-class>Ch1Servlet</servlet-class>
            </servlet>
            <servlet-mapping>
                        <servlet-name>Chapter1Servlet</servlet-name>
                        <url-pattern>/Serv1</url-pattern>
            </servlet-mapping>
</web-app>
```

Aber mich würde trotzdem noch interessieren, warum die erste web.xml mit den
Versionsangaben nicht funktionierte.


----------



## musiKk (9. Mrz 2009)

Du hast oben ein Leerzeichen im <servlet-name>. Der Rest sollte mit dem Fehler nichts zu tun haben. Jedenfalls hab ichs spaßeshalber mal nachgestellt und kriegs mit dem Leerzeichen gar nicht erst deployt.


----------



## mvitz (9. Mrz 2009)

Evtl lags ja an dem Leerzeichen


----------



## Raumsonde (9. Mrz 2009)

habi55 hat gesagt.:


> Evtl lags ja an dem Leerzeichen



Habe das Leerzeichen noch mal reingermacht (und Tomcat neugestartet).
Das funktioniert auch. Und das <web-app ...> habe ich auch noch mal
so wie in der ersten Version erweitert. Das funktioniert auch.

Nur das <?xml version="1.0" encoding="ISO-8851-1" ?>
wird nicht akzeptiert und gibt die besagte Fehlermeldung.


----------



## musiKk (9. Mrz 2009)

Und mit UTF-8 als Encoding?

_wobei... das hängt natürlich vom Editor ab, aber vielleicht mag Tomcat nur UTF-8?_


----------



## enero99 (29. Mrz 2009)

schau mal in die Logs von Tomcat (catalina.jjj-mm-tt.log) da wirst du so eine Fehlermeldung finden!

28.03.2009 18:33:02 org.apache.catalina.startup.ContextConfig applicationWebConfig
SCHWERWIEGEND: Parse error in application web.xml file at jndi:/localhost/Kap01/WEB-INF/web.xml
java.io.UnsupportedEncodingException: ISO-8851-1
	at sun.nio.cs.StreamDecoder.forInputStreamReader(Unknown Source)

...

>>> java.io.UnsupportedEncodingException: ISO-8851-1 <<<

ISO-8851-1 ist falsch! 
es müsste dort ISO-8859-1 stehen! 
schau einfach in eine andere web.xml des Tomcat da steht überall bei mit immer ISO-8859-1
Gruß


----------



## Javakuum (17. Jun 2009)

Ich hatte denselben Fehler.

<?xml version="1.0" encoding="ISO-8851-1"?> wurde nicht akzeptiert.

Erst die Änderung auf 

<?xml version="1.0" encoding="ISO-8859-1"?> brachte Abhilfe.

Ich nutze die 5.5 Version und habe das gleiche Beispiel benutzt.
Wird wahrscheinlich ein Feature sein, entweder über XML konfigurierbar,
oder über die Admin-Console (sollte ich die mal zum Laufen bringen...):bahnhof:


----------



## Unregistriert (25. Okt 2009)

Diese ISO-Norm beschäftigt sich mit *Butter*, genauer gesagt mit deren Bestandteilen: "ISO-8852-1: Butter - Bestimmung des Wassergehaltes, der fettfreien Trockenmasse und des Fettgehaltes"


----------

