2010-06-02 11 views
12

Ich versuchteWie kann ich alle Fehler auf derselben Seite von web.xml abfangen?

<error-page> 
    <exception-type>java.lang.Exception</exception-type> 
    <location>/errors/error.jsp</location> 
</error-page> 

aber ich dosen't 404 Fehler abfangen zu verwenden. Wie kann ich auch 404 usw. Fehler auf derselben Seite finden? Ich möchte ALLE Fehlercodes auf dieselbe Fehlerseite jsp abfangen.

Antwort

8

Sie können ein <error-code> Tag für diese

<error-page> 
    <error-code>404</error-code> 
    <location>/errors/error.jsp</location> 
</error-page> 

UPDATE hinzufügen:

Wie pro Ihre aktualisierte Frage - Sie werden jeden Fehler-Code einzeln in der web.xml definieren.

Mit <exception-type>java.lang.Throwable</exception-type> werden die Fehler 500s fangen aber nicht 404s

+2

Ich weiß, dass, aber ich möchte, dass alle Fehlercodes auf derselben Seite – newbie

+2

@newbie fangen - so dass Sie einen für jeden Fehlercode hinzufügen, alle auf derselben zeigen Seite. –

+0

@StephenC: Gibt es keine Platzhalterfunktion für dasselbe? :/ –

0

In tomcat7 (möglicherweise ältere Versionen arbeiten, aber ich nicht überprüfen)

fügen Sie die Fehlerseiten (bis 404.jsp möchten, general_error.php etc.)

zu web.xml hinzufügen (alle ersten und spezifischen dann passen sie natürlich an Ihrem Code):.

<error-page> 
    <location>general_error.php</location> 
</error-page> 

<error-page> 
    <error-code>404</error-code> 
    <location>404.jsp</location> 
</error-page> 

<error-page> 
    <error-code>409</error-code> 
    <location>error_page.jsp?error=custom_message</location> 
</error-page> 
1

Ich benutze diese:

<error-page> 
    <exception-type>java.lang.Exception</exception-type> 
    <location>/pages/exception/sorry.html</location> 
</error-page> 

<error-page> 
    <error-code>403</error-code> 
    <location>/security/403</location> 
</error-page> 

<error-page> 
    <error-code>404</error-code> 
    <location>/security/404</location> 
</error-page>