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 :

gestion des exceptions via <error-page>


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    75
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 75
    Par défaut gestion des exceptions via <error-page>
    Bonjour,
    J'essaye de mettre en place une page d'erreur sur une application servlet / jsp.
    J'ai trouvé que l'on pouvait mettre dans le web.xml, un truc du genre :
    <error-page>
    <exception-type>java.lang.OutOfMemoryError</exception-type>
    <location>/error.jsp</location>
    </error-page>
    Ceci permettra de renvoyer la page error.jsp chaque fois que l'exeption est rencontrée. Cependant ce que je cherche à faire est légérement différent.
    J'ai deux pages d'erreurs à renvoyer selon la cause exacte de l'exception.

    Exemple, si l'utilisateur se trouve dans la page A, l'erreur devrait le renvoyer vers error1.jsp
    Et si il se trouve dans une page B, l'erreur renverra vers error2.jsp

    J'espere que je me suis bien expliquer

    Merci d'avance pour toute aide !

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Par défaut Message différents en fonction de l'exception
    J'ai trouvé sur le web un exemple de code, que je n'ai pas testé.

    Si celui-qui lit ce message en a besoin, qui teste cela et en rends compte:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    <%@ page isErrorPage="true" import="java.io.*" %>
    <% response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, exception.toString()); %>
    <% response.setHeader("customerror",exception.toString()); %>
    <html>
    <head>
      <title>Exceptional Even Occurred!</title>
    </head>
    <body>
    <%-- Exception Handler --%>
    <font size="-1" face="Verdana, Arial, Helvetica, sans-serif" color="red">
    <b><%= exception.toString() %></b><br/>
    </font>
    <%
    if (exception.toString().indexOf("OutOfMemoryError") > 0)
    {
       out.println("<br/>Switch to CFUPARSER, by adding the following to your JSP :<br/>");
       out.println("&lt;jsp:setProperty name=\"upBean\" property=\"parser\" value=\"&lt;%= MultipartFormDataRequest.CFUPARSER %&gt;\"/&gt;<br/>");
       out.println("&lt;jsp:setProperty name=\"upBean\" property=\"parsertmpdir\" value=\"c:/temp\"/&gt;<br/>");
    }
    else if (exception.toString().indexOf("JasperException") > 0)
    {
       out.println("<br/>Check UploadBean properties in your JSP.<br/> For folder store check : ");
       out.println(" &lt;jsp:setProperty name=\"upBean\" property=\"folderstore\" value=\"c:/uploads\" /&gt;<br/>");
    }
    out.println("<!--");
    StringWriter sw = new StringWriter();
    PrintWriter pw = new PrintWriter(sw);
    exception.printStackTrace(pw);
    out.print(sw);
    sw.close();
    pw.close();
    out.println("-->");
    %>
    </body>
    </html>

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4
    Par défaut
    J'avais oublié de dire qu'il faut définir la classe Exception de base pour que toutes les exceptions aille à cette page:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error.jsp</location>
    </error-page>
    Sinon on peut définir une error page pour chaque exception mais c'est un peu lourd.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <error-page>
    <exception-type>java.lang.ClassNotFoundException</exception-type>
    <location>/errorClass.jsp</location>
    </error-page> 
    <error-page>
    <exception-type>java.lang.IOException</exception-type>
    <location>/errorIO.jsp</location>
    </error-page>

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2009
    Messages : 30
    Par défaut
    A ce propos, quelqu'un observe t'il le même comportement que moi lorsque Eclipse (JBossTools ou WTP je ne sais pas) valide le fichier web.xml ?

    J'obtiens systématiquement une erreur marquée sur ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <error-page>
      <exception-type>java.lang.Exception</exception-type>
      <location>/erreur.jsp</location>
    </error-page>
    L'erreur est :
    error: Attribute exception-type references to java.lang.Exception that does not implement interface java.lang.Exception

    Etrange non ?
    Si ça vous dit quelque chose... ?

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

Discussions similaires

  1. robustesse, gestion des exceptions ? (Error.pm, Fatal.pm)
    Par ramislebob dans le forum Modules
    Réponses: 13
    Dernier message: 07/07/2006, 10h30
  2. [ORACLE 9i] Gestion des exceptions
    Par sygale dans le forum SQL
    Réponses: 6
    Dernier message: 19/08/2004, 15h06
  3. Gestion des exception (EOleException)
    Par shurized dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/06/2004, 17h25
  4. [XMLRAD] gestion des exceptions
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 28/01/2003, 17h48
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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