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 :

Inserer la stack d'erreur dans une page JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut Inserer la stack d'erreur dans une page JSP
    Bonjour a tous,
    J'ai un formulaire jsp avec un bouton type 'submit qui fait un insert dans une DB.
    Dans le cas d'une exception, Je fait une redirection vers une page d'erreur.
    Mon probleme est que je n'arrive pas afficher la pile d'erreur dans ma fenetre afin de pouvoir l'afficher au user et non pas d'aller dans la log afin de connaitre la nature de l'erreur.
    Ma fenetre d'erreur est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <%@ page isErrorPage="true" import="java.io.PrintWriter" %>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>Erreur</title>
      </head>
      <body>
        <h1>Une erreur s'est produite quelque part.</h1>
        <p>Voici la trace&nbsp;:
     <p>
    		<%
                    java.io.PrintWriter myWriter = new java.io.PrintWriter(out);
                    exception.printStackTrace(myWriter);
                    %>
    </p>
     
      </body>
    </html>
    Lors de la redirection vers ma page d'erreur (ci-dessus) j'ai le message d'erreur suivant :[Erreur de servlet]-[]: java.lang.NullPointerException
    J'utilise WSAD 5.1
    Merci par avance de votre aide.

  2. #2
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    A mon avis ton objet exception est null (d'ou l'exception a l'affichage de ta page d'erreur) il faut d'abord que tu recuperes l'exception depuis la session ou la request
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Comment faire ca??

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par la7su
    A mon avis ton objet exception est null (d'ou l'exception a l'affichage de ta page d'erreur) il faut d'abord que tu recuperes l'exception depuis la session ou la request
    Très certainement!

    Citation Envoyé par skunkies
    Comment faire ca??
    Pendant le traitement de ton exception (après l'avoir catché) tu met un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    try {
    <div style="margin-left:40px">...</div>}
    catch (Exception e){
    <div style="margin-left:40px">requete.setAttribute("monException", e);</div>}
    puis dans ta JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <%@ page isErrorPage="true" import="java.io.PrintWriter" %>
     
    <%Exception exception = (Exception) request.getAttribute("monException");
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <html>
      <head>
      <title>Erreur</title>
      </head>  
    <body>  
    <h1>Une erreur s'est produite quelque part.</h1>  
    <p>Voici la trace&nbsp;: 
    <p>  
    <% java.io.PrintWriter myWriter = new java.io.PrintWriter(out); exception.printStackTrace(myWriter); %> 
    </p>
      </body>
     </html>

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    requete.setAttribute("monException", e);
    D'ou viens l'objet requete ??Il ne le reconnait pas?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par skunkies
    D'ou viens l'objet requete ??Il ne le reconnait pas?
    L'objet requete est de type HttpServletRequest.
    Il doit être en paramètre de ta fonction doGet ou doPost de la servlet qui est appelé par ton submit.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Points : 299
    Points
    299
    Par défaut
    Ce n'est pas une servlet qui est appeler lors de mon submit mais une methode type
    public void submit(ActionEvent e) throws IOException {
    Comment faire alors...
    Merci

  8. #8
    Membre actif Avatar de MicroPuce
    Inscrit en
    Mai 2004
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 262
    Points : 212
    Points
    212
    Par défaut
    Salut,
    Pour la redirection, tu spécifies l'url de la page via l'attribut "errorPage", il me semble, et la redirection se fera automatiquement en cas d'erreur.
    Si je me souviens bien, une jsp avec l'attribut "isErrorPage" positionné à true rend l'exception directement accessible.
    Par contre, la méthode printStackTrace() affiche l'exception dans la console pas dans la JSP, utilises plutôt la méthode getstackTrace() qui te renvoie un tableau d'objet de type... (ch'ais plus) que tu pourras ensuite inserer dans ta jsp avec un out.println (...) par exemple.
    Ca devrait répondre à ta question?

Discussions similaires

  1. Messages d'erreur dans une page JSP
    Par pepitoluna dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 12/07/2010, 09h34
  2. inserer un frame dans une page jsp
    Par dearraed dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 30/01/2010, 21h58
  3. [HTML] Inserer un fichier text (".txt") dans une page HTML
    Par silverfab34 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/10/2007, 11h57
  4. inserer une page php externe dans une page JSP
    Par vrossi59 dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 05/07/2005, 16h25

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