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 :

JSP error page


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 32
    Points
    32
    Par défaut JSP error page
    Bonjour,

    Petite question sur les error page jsp: y a-t-il moyen de vraiment rediriger vers une nouvelle page ?

    Je m'explique, voici le code utilisé:

    web.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <error-page>
    		<location>/exception.jsp</location>
    </error-page>
    page exception.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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@page isErrorPage="true" %>
    <html>
    <head>
    <title>Show Error Page</title>
    </head>
    <body>
    <h1>Opps...</h1>
    <table width="100%" border="1">
    <tr valign="top">
    <td width="40%"><b>Error:</b></td>
    <td>${pageContext.exception}</td>
    </tr>
    <tr valign="top">
    <td><b>URI:</b></td>
    <td>${pageContext.errorData.requestURI}</td>
    </tr>
    <tr valign="top">
    <td><b>Status code:</b></td>
    <td>${pageContext.errorData.statusCode}</td>
    </tr>
    <tr valign="top">
    <td><b>Stack trace:</b></td>
    <td>
    <c:forEach var="trace" 
             items="${pageContext.exception.stackTrace}">
    <p>${trace}</p>
    </c:forEach>
    </td>
    </tr>
    </table>
    </body>
    </html>
    page provoquant l'erreur:
    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 errorPage="ShowError.jsp" %>
     
    <html>
    <head>
       <title>Error Handling Example</title>
    </head>
    <body>
    <div>TOTO TITI TATA</div>
    <%
       // Throw an exception to invoke the error page
       int x = 1;
       if (x == 1)
       {
          throw new RuntimeException("Error condition!!!");
       }
    %>
    </body>
    </html>

    Si on va sur la page provoquant l'erreur, nous avons bien le contenu de exception.jsp qui s'affiche, MAIS......il s'affiche "par dessus" la page principale
    Autrement dit, nous allons voir le div TOTO TITI TATA avec à côté la page d'exception

    Petit screenshots qui expliqueront un peu mieux!

    Voici ce que j'obtiens:
    http://hpics.li/105505e

    Voici ce que j'aimerais:
    http://hpics.li/f6e5922

    Comment éviter cela ?

    PS: merci d'avance de ne pas lancer un débat sur "il ne faut pas du code java dans les jsp etc...

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 30
    Points : 56
    Points
    56
    Par défaut
    Salut,

    - Enlève l'attribut errorPage dans la définition @page de ta page test; pas utile ici.
    - Ajout le type d'exception à gérer dans le web.xml (voir ci-dessous)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <error-page>
    		<exception-type>java.lang.Throwable</exception-type>
    		<location>/exception.jsp</location>
    </error-page>
    Flo.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    Bonjour !

    Merci pour cette réponse

    Effectivement, il y avait une boulette dans la page de test, je l'ai enlevé

    Simplement pour comprendre: peux-tu stp m'expliquer l'intérêt de rajouter le type d'exception ? Si on pars du principe que n'importe quelle exception doive aller sur la même jsp ?

    Et par contre, ça ne règle pas du tout mon problème de redirection :/

    Encore merci pour l'aide

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 32
    Points
    32
    Par défaut
    Up ?

Discussions similaires

  1. [JSP] URL Page appelante
    Par marti dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 18/11/2005, 12h11
  2. [TomCat] [Servlet] <jsp:include page...
    Par PHDM dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/12/2004, 11h02
  3. [ JSP ] [ TOMCAT ] page d'erreur
    Par zozolh2 dans le forum Tomcat et TomEE
    Réponses: 10
    Dernier message: 26/08/2004, 14h16
  4. [JSP]Servlet / page html
    Par ana2sb dans le forum Servlets/JSP
    Réponses: 17
    Dernier message: 10/08/2004, 17h10
  5. [jsp] Error #: 482 : duplicate definition of class
    Par antigone dans le forum JBuilder
    Réponses: 4
    Dernier message: 24/07/2003, 11h18

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