# Http Status Code abfragen



## KS (7. Apr 2008)

Hallo Leute

Ich habe da ein dumme Frage.. aber ich suche wohl unter den falschen Begriffen, denn ich finde einfach keine Hilfe.

Ich verwende und entwickle mit:

-Tomcat 5.x (ohne vorgeschalteten Apache)
-JSF

Nun möchte ich lediglich den Http Status Code abfragen. In der HttpServletResponse kann ich lediglich die Methode setStatus aufrufen. Aber niergends finde ich getStatus! Verdammt!

Das ganze dient dazu, dass ich auf diese Status Codes reagieren kann.

Danke für Eure Hilfe
Gruss


----------



## maki (7. Apr 2008)

Status codes sind für den Client, nicht für den Server...


----------



## KS (7. Apr 2008)

nun, aber da dieser Status im Server erstellt wird (beispielsweise fehlt die angeforderte datei.. status: 404) dann muss ich doch auch direkt auf dem Server darauf zugreifen können und meiner Applikation mitteilen, was sie in diesem Fall dem Client weiter gibt...

Oder macht man dies ausschliesslich über die conf datei httpd.conf ?


----------



## maki (7. Apr 2008)

Gibt mehrere Möglichekiten, httpd.conf ist nur möglich wenn ein Apache vorgeschaltet ist, selbst dann ist es unüblich diese Datei zu verwenden.

Wenn du Fehlerseiten anzeigen möchtest, kannst du das über die web.xml steuern, oder selbst im Servlet.


----------



## KS (7. Apr 2008)

ja genau das ist mein Ziel. Ich möchte alle mit 404 resultierenden Aufrufe auf eine andere URL umleiten. 

Dafür wollte ich auch im Servlet nachkucken welcher Code generiert wurde und dann entsprechend reagieren. 

Kann ich diesen Redirect auch in web.xml hinzufügen?


----------



## maki (7. Apr 2008)

Kein redirect, nur die fehlerseite (JSP, HTML oder servlet).


----------



## KS (7. Apr 2008)

ok danke maki!

ich probier das mal so:


```
<error-page>
    <error-code>404</error-code>
    <location>/WEB-INF/jsp/jsp/errorHandler404.jsp</location>
</error-page>
```


----------



## KS (7. Apr 2008)

Also das klappt!

Aber es würde mich trotzdem noch wunder nehmen, ob Du nicht einen Weg kennst dies im Code zu handeln. So ala ich mache einen Filter kurz bevor der Server die Antwort an den Client sendet und ich frage dort ab, welcher Code gesendet wird:

httpServletResponse.getStatus() 

gibt es so eine Lösung?


----------



## maki (7. Apr 2008)

Hab ich noch nicht gemacht, sollte aber ohne Probleme möglich sein, vielleicht kommt ja noch jemand der das mal gemacht hat, oder vielleciht hilft google.


----------

