IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

<error-page> et Filter


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut <error-page> et Filter
    Bonjour,

    J'ai une application configurée avec plusieurs <error-page> pour intercepter les erreurs 404, 500 et les Throwable.

    Cela fonctionne très bien sauf quand une exception est lancée dans un Filter.
    J'en conclus donc que le tag <error-page> ne fonctionne que sur les servlets et jsp.

    Ce que je ne comprends pas c'est pourquoi. Etant donné que je reçois quand même une erreur 500, elle devrait être interceptée.

    Toujours est-t-il que j'ai trouvé un moyen de contourner le problème en mettant un try-catch entourant tout le code de la méthode doFilter() et en faisant un response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); dans le catch.

    Je ne comprends vraiment pas pourquoi ça marche dans un cas et pas dans l'autre. Je serais intéressé par l'explication si quelq'un en a une.

    Mais ma question principale est la suivante: est-ce le seul moyen de gérer ce cas ou y a-t-il une méthode plus "propre", agréable, efficace, que de mettre un try-catch dans tous les filtres de l'application?
    Développeur écolo, je suis pour le développement durable.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    parce que l'interception des exception/Erro en error-page dans la spec servlet 2.4 mentionne clairement que ça ne s'applique qu'aux servlet:

    http://download.oracle.com/otndocs/j...pec-oth-JSpec/


    SRV.9.9.2 Error Pages
    To allow developers to customize the appearance of content returned to a Web client
    when a servlet generates an error, the deployment descriptor defines a list of error
    page descriptions. The syntax allows the configuration of resources to be returned
    by the container either when a servlet or filter calls sendError on the response for
    specific status codes, or if the servlet generates an exception or error that propagates
    to the container.
    et confirmation plus bas
    The error page mechanism described does not intervene when errors occur
    when invoked using the RequestDispatcher or filter.doFilter method. In this
    way, a filter or servlet using the RequestDispatcher has the opportunity to handle
    errors generated.

  3. #3
    Membre confirmé Avatar de Haywire
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2006
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2006
    Messages : 462
    Points : 573
    Points
    573
    Par défaut
    Merci pour la réponse rapide qui confirme ce que j'avais constaté, et surtout pour le lien vers la spec, qui me sera très utile .

    Ca confirme également qu'il faut gérer ça soi-même avec un try-catch.

    Bonne journée !
    Développeur écolo, je suis pour le développement durable.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Error-page dans le web.xml
    Par shawty dans le forum Développement Web en Java
    Réponses: 3
    Dernier message: 25/06/2008, 11h07
  2. Error Pages (NB6 + Glassfish V2)
    Par jey350 dans le forum Glassfish et Payara
    Réponses: 3
    Dernier message: 07/12/2007, 21h06
  3. error-page location dans le web.xml
    Par Aurélie38 dans le forum JOnAS
    Réponses: 1
    Dernier message: 06/12/2007, 09h07
  4. error-page dans Tomcat
    Par orest dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 31/01/2006, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo