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 :

La gestion des erreurs en JSP


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Par défaut La gestion des erreurs en JSP
    Bonjour à tous,

    j'essaie d'implémenter la gestion d'une erreur avec une redirection vers une page "erreur.jsp", seulement je ne sais pas comment implémenter la page où l'erreur est détectée, dans cette page un test est réalisé, s'il le test est "positif" j'aimerai que la redirection se fasse, voila comment se présente les choses:

    Ma page d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <%@ page isErrorPage="true"  %>
     
    <html>
     
    <head><title>Error Page.</title></head>
     
    <body>
     
    <p> ERREUR </p>
     
    </body>
     
    </html>
    et ma page principale ou j'ai intégré la redirection DANS ma condition situé dans le body:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    <%              if ( (session.getAttribute("status") != null) 
                            && (session.getAttribute("status").equals(new Integer(42)) ) ) {
    %>
    		<br><p class="signal">An error was done...<br>
    <%              out.println(session.getAttribute("error").toString());
    %>
    		</p>
    <%              session.setAttribute("status",null);
                                    
    %>		<%@ page errorPage="error.jsp" %> }


    Seulement d'après les rares tutos que j'ai trouvé la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <%@ page errorPage="error.jsp" %>
    se situe en en entête de page, il m'est donc impossible de réaliser cette redirection en fonction de la condition ?

  2. #2
    Membre émérite Avatar de noOneIsInnocent
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 037
    Par défaut
    Bonjour

    si j'étais à ta place je gererais tout ça dans une servlet et non pas directement dans une JSP.
    ta JSP qui teste la présence de ton element dans la session est probablement appelée par une servlet et c'est dans cette dernière que tu devrais faire le test

    sinon je pense que tu peux essayer de faire ça dans ta JSP en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if ( (session.getAttribute("status") != null) 
    			&& (session.getAttribute("status").equals(new Integer(42)) ) ) {RequestDispatcher dispatcher = aRequest.getRequestDispatcher("errorPage");
    dispatcher.forward(aRequest, aResponse);
     
    }
    %>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 101
    Par défaut
    Bonjour et merci pour votre réponse, je suis débutant en matière de jsp et j'aurais une question:

    si j'étais à ta place je gererais tout ça dans une servlet et non pas directement dans une JSP.
    ta JSP qui teste la présence de ton element dans la session est probablement appelée par une servlet et c'est dans cette dernière que tu devrais faire le test
    Je sais qu'une servlet est une classe java, il existe bien un fichier java contenant ce même test dans ma Webapp, mais la condition (pour une raison qui m'échappe) est également répétée dans la page JSP, si je retire ce code ça ne marche plus, en fait je ne sais pas où vous voudriez que je fasse l'appel a ma page d'erreur, puisque je ne peux pas le réaliser dans une classe java.

    je vais essayer votre méthode dans ma JSP, je conserve donc ma page d'erreur "erreur.jsp" mais que dois je rajouter dans ma jsp pour gérer la redirection ? le code que vous m'avez fournis va indiquer au programme qu'une erreur est générée, je dois mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page errorPage="error.jsp" %>
    quelque part non ?

    désolé pour l'avalanche de question


    EDIT: Lorsque je test ce bout ce code j'obtiens l'erreur suivante:
    Une erreur s'est produite à la ligne: 44 dans le fichier jsp: /interblackbox/formdepart.jsp
    aRequest cannot be resolved
    41:
    42:
    43: <%if ( (session.getAttribute("status") != null)
    44: && (session.getAttribute("status").equals(new Integer(42)) ) ) {RequestDispatcher dispatcher = aRequest.getRequestDispatcher("errorPage");
    45: dispatcher.forward(aRequest, aResponse);
    46:
    47: }
    je dois définir une fonction au préalable ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur Informatique et Réseaux
    Inscrit en
    Avril 2011
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Informatique et Réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 232
    Par défaut
    Bonjour,

    je pense aussi qu'il faudrait faire le test dans une servlet et si cela n'est pas possible dans celle qui appelle la page jsp pourquoi pas dans une servlet qui serrait appelée par la page jsp suite à une action (validation d'un formulaire ou clique sur un lien).


    Voila j'espère avoir un peu aidé.

Discussions similaires

  1. Gestion des erreurs dans les pages JSP
    Par elewandowski dans le forum Struts 2
    Réponses: 3
    Dernier message: 04/12/2007, 21h18
  2. Réponses: 3
    Dernier message: 04/12/2007, 10h55
  3. [J2EE/JSP] Gestion des erreurs avec une base SQL server 2005
    Par critok dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 30/04/2006, 16h57
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 17h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

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