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

Struts 1 Java Discussion :

Redirection vers une page d'erreur personnalisée


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut Redirection vers une page d'erreur personnalisée
    Rebonjour à tous !

    J'ai beau chercher sur les forums de Developpez.com, je n'ai pas trouvé de discussion concernant la redirection vers une page d'erreur gérée en modèle MVC Struts.

    Perso, j'ai une classe personnalisée "RequestProcessor" qui extend la classe "TilesRequestProcessor" et qui surdéfinit la fonction "processPreprocess (HttpServletRequest request,HttpServletResponse response)". Ca me permet de vérifier des variables de session.
    J'ai donc ajouté dans mon fichier struts-config.xml la ligne suivante :
    <controller processorClass="projet.struts.processor.RequestProcessor" />
    Tout marche parfaitement, et j'en ai déduis que c'était peut-être avec cette même classe que je pouvais récupérer des erreurs 404 pour les forwarder vers une page perso. Est-ce possible (et donc comment le faire) ou y-a-t'il un moyen plus simple ?

    Merci d'avance pour vos éclaircissements.

    PS : Pas moyen de faire de la bidouille sur Tomcat ou le serveur d'application !

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonjour,

    la norme J2EE prévoit la gestion des codes d'erreurs HTTP.
    Exemple : http://www.developpez.net/forums/sho...&highlight=404

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Ok merci, il y avait donc plus simple !

    Et si par exemple une erreur de servlet survient au coeur de mon application web (par exemple une erreur de code involontaire ), comment puis-rediriger mes erreurs (e.printStack par exemple) vers la même page sans appliquer des try-catch dans toutes mes action servlets ?

  4. #4
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Bonjour,

    Dans ce cas précis, il sagit d'une erreur interne du serveur erreur 500.

    N'oublie pas le bouton Résolu quand tu auras fini.

    Merci.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Oui j'avais compris qu'il s'agissait d'une erreur 500, mais si je veux que ma page perso affiche le type d'erreur (via un "e.printStack" ou autre), genre dans un <bean:write> ou <html:error> ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 30
    Points
    30
    Par défaut
    Bon je reformule histoire de voir si je suis sur la bonne voie ou si quelqu'un a une illumination :
    Une ActionServlet est sensé renvoyer une erreur (involontaire comme un bug ou une négligence du codeur ) dans une page d'erreur personnalisée. Si l'ActionServlet plante, on a donc une redirection d'erreur 500 via les balises du fichier web.xml...
    Mais comment récupérer la trace de l'erreur (afin de déterminer sa nature) pour pouvoir l'afficher dans cette même page perso ? Du genre renvoyer la trace de l'erreur dans un bean puis faire un <bean:write />...
    Est-ce possible ou non ? Si oui, comment le réaliser ?

    Merci d'avance !

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut
    Bonjour,

    parmi tant d'autres : http://java.developpez.com/faq/j2ee/...JSP_ERROR_PAGE

    Eric

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

Discussions similaires

  1. [Flex4] Erreur lors de la redirection vers une page jsf
    Par amydinfo dans le forum Flex
    Réponses: 2
    Dernier message: 04/08/2010, 19h33
  2. Redirection vers une page jsp d'erreur
    Par ThomasParis dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/02/2010, 12h01
  3. redirection vers une page d'erreur depuis une servlet
    Par flamant dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 10/07/2009, 11h58
  4. Redirection vers une page contenant celle qui redirectionne
    Par Rémiz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 16/11/2005, 14h38
  5. [PRO] redirection vers une page
    Par Mister_FX dans le forum ASP
    Réponses: 10
    Dernier message: 23/06/2004, 17h31

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