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

Tomcat et TomEE Java Discussion :

Traitement des erreurs avec Tomcat


Sujet :

Tomcat et TomEE Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Traitement des erreurs avec Tomcat
    Salut,
    Je veux que les serveur Tomcat lorsqu'il trouve l'erreur 404, il sera diriger vers une page précis où je je veux afficher mon propre message d'erreur.
    Voila le fichier web.xml:
    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
    36
    37
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>TP1_a_rendre</display-name>
      <welcome-file-list>
        <welcome-file>Form1.html</welcome-file>
      </welcome-file-list>
      <servlet>
        <description></description>
        <display-name>Servlet1</display-name>
        <servlet-name>Servlet1</servlet-name>
        <servlet-class>Servlet1</servlet-class>
      </servlet>
      <error-page>
        <error-code>500</error-code>
        <location>/Erreur500.html</location>
      </error-page>
      <error-page>
        <error-code>404</error-code>
        <location>/Erreur404.html</location>
      </error-page>
      <servlet-mapping>
        <servlet-name>Servlet1</servlet-name>
        <url-pattern>/Servlet1</url-pattern>
      </servlet-mapping>
      <servlet>
        <description></description>
        <display-name>Servlet2</display-name>
        <servlet-name>Servlet2</servlet-name>
        <servlet-class>Servlet2</servlet-class>
      </servlet>
      <servlet-mapping>
        <servlet-name>Servlet2</servlet-name>
        <url-pattern>/Servlet2</url-pattern>
      </servlet-mapping>
     
    </web-app>
    Mais le serveur il m'affiche la page usuel:
    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
     
    La page est introuvable 
    Il est possible que la page recherchée ait été supprimée, que son nom ait changé ou qu'elle ne soit pas disponible pour le moment. 
     
    --------------------------------------------------------------------------------
     
    Essayez de la manière suivante :
     
    Si vous avez entré l'adresse de cette page dans la barre d'adresses, vérifiez qu'elle est correcte.
     
    Ouvrez la page de démarrage localhost:8081et recherchez les liens vers les informations que vous désirez. 
    Cliquez sur le bouton  Précédente pour essayer un autre lien. 
    Cliquez sur  Rechercher pour trouver des informations sur Internet.
     
    HTTP 404 - Fichier introuvable
    Internet Explorer
    avec : les fichiers Erreur404 et Erreur 500 se trouvent dans le dossier web-inf.
    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Je suppose que l'option "Activer les messages d'erreur HTTP simplifiés" est activée, dans Internet Explorer.

    En fait, on ne peut pas vraiment dire que Tomcat traite l'erreur, il l'accompagne juste d'une page personnalisée que le navigateur affiche, ou pas...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    Salut,

    Si tes fichiers sont dans WEB-INF je ne suis pas sur que tu puisse acceder a WEB-INF depuis le web.xml comme tu l'indique.: <location>/Erreur500.html</location>
    Au mieux ca aurait du etre /WEB-INF/Erreur500.html
    Mais si cette addresse est interprete comme une requete cliente ca ne passera pas car c'est une url interdite (sauf en interne via tes servlets/jsp)
    A essayer.

    Sinon si tu mets tes ErrorX.html dans le webroot (le repertoire audessus de WEB-INF) ca devrait marcher avec le <location>/Erreur500.html</location>

    ---
    Farid

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    voila l'architecture de mon projet:

    Travail(dossier)
    -------WebContent(dossier)
    ------------------META-INF(dossier)
    ------------------WEB-INF(dossier)
    --------------------------web.xml
    ------------------Erreur404.html
    ------------------Erreur500.html
    ------------------Form1.html(c'est la page d'accueil)
    ------src(dossier)
    ---------Servlet1.java
    ---------Servlet2.java

    le contenu du fichier web.xml est déjà cité au dessus.
    Pour la servlet1 elle génère une erreur de type 404 et je veux lorsque cette erreur est parvient, le navigateur n'affiche pas la page d'erreur usuel mais je veux qu'il affichera ma page Erreur404.html. c'est pour cela j'ai utilisé las tags suivantes dans le fichier web.xml :
    <error-page>
    <error-code>404</error-code>
    <location>/Erreur404.html</location>
    </error-page>

    Mais ça marche pas?????!!!!!!!!

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 241
    Points : 399
    Points
    399
    Par défaut
    Bonjour,

    si c'est ta servlet qui génère l'erreur, c'est un poil tordu.

    Les errors pages sont destinées, à mon avis, au conteneur de Servlet.

    Si tu appelles une URL non matchable à un URL pattern du WEB.XML, alors tu es susceptible de recevoir ton error404.html.

    Si ta servlet est conçue pour transmettre une erreur HTTP 404, alors à ta servlet de renvoyer vers la page 404 de ton choix.

    Si on suit le cheminement Request-Response, je pense que Tomcat détecte les errors page en début de Request et pas en fin de Response.

    Sébastien

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    Ta config de web.xml me semble correct.
    tes <error-page> sont au bon endroits dans le web.xml, correct dans leur form et les pages placés la ou il faut.

    j'avoue que

    Est ce que ca viendrait d'un probleme de cache avec IE ou cote serveur ?

    ---
    Farid

  7. #7
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    As-tu essayé sous Firefox ?

  8. #8
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    slt,
    j'utilise eclipse.
    Pour Farid j'ai pas compris ton message!!!tu peut m'expliquer une autre svp?
    Svp c'est un problème urgent et merci à tous pour votre aide.

  9. #9
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    Si tu testes avec le Web Browser d'eclipse sous Windows, c'est IE qui est derrière.

    Je te suggère fortement d'essayer avec Firefox ou Opera car je continue de penser que c'est un problème d'option "Activer les messages d'erreur HTTP simplifiés", dans Internet Explorer.

  10. #10
    Futur Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    Merci infiniment.
    Vraiment c'est Internet Explorer qui pose le problème.
    je la testé avec FireFox est ça marche.
    Merci à tous.

  11. #11
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    C'est juste dommage que tu ais perdu une journée avec ça, vu que ma première réponse envisageait déjà cette cause. C'est un cas classique que je montre à chaque formation Web !

    Si tu veux continuer à tester avec Eclipse, tu dois aller dans IE, et modifier l'option. Cette modification se répercutera sur le Web Browser de Eclipse.

    Par contre, ça signifie que tu ne peux exploiter cette technique de gestion des erreurs que si tu es certain de la configuration de tes utilisateurs. Dans le cas contraire, il faut que tu gères les erreurs par du code, avec de la redirection ou du forward. Si tu fais du MVC, avec un Front Controller, c'est la servlet de contrôle qui pourra traiter les erreurs ; c'est l'option prise par struts ou JSF. Sinon, je te conseille de mettre en place un filtre de gestion des erreurs.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 280
    Points : 344
    Points
    344
    Par défaut
    ravie de voir que le probleme venait de IE.
    la modif de l'option d'IE comme te la indique hasalex devrait corriger tes soucis.

    PS: Desole de ne pas avoir repondu hier mais apres 48h non stop, dodo...
    ---
    Farid

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

Discussions similaires

  1. Problème d'affichage des graphes avec Tomcat
    Par _Janu_ dans le forum BIRT
    Réponses: 11
    Dernier message: 20/09/2006, 15h30
  2. [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
  3. [Forum] Des erreurs avec tous les scripts PHP
    Par sensoo dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 25/04/2006, 18h41
  4. Gestion des erreurs avec setjump/longjump
    Par gege2061 dans le forum C
    Réponses: 1
    Dernier message: 05/02/2006, 15h51
  5. Réponses: 8
    Dernier message: 20/01/2006, 13h46

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