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 :

IllegalStateException : Impossible d'utiliser faire-suivre (forward)


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 144
    Points : 645
    Points
    645
    Par défaut IllegalStateException : Impossible d'utiliser faire-suivre (forward)
    Bonjour,

    j'ai un problème avec Tomcat 6.0.18 et eclipse 3.4 dont je n'arrive pas à me dépatouiller depuis plusieurs jours, malgré toute la littérature trouvée sur le web.

    Après avoir identifié un utilisateur, je voudrais le rediriger sur une page de bienvenue ou autre selon le cas. J'ai donc 3 pages : login.jsp, bienvenue.jsp et nologin.jsp, plus une servlet TraiterLogin.java. Chaque fois que je veux rediriger l'utilisateur, Tomcat me sort :
    java.lang.IllegalStateException: Impossible d'utiliser faire-suivre (forward) après que la réponse ait été envoyée
    J'ai regardé partout, je ne vois absolument pas où, quand et comment j'ai pu envoyer une réponse avant ... J'ai essayé de mettre mon code dans doGet(), dans doPost(), ça ne change rien.

    Voici ma servlet :
    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
     
    protected void service (HttpServletRequest request, HttpServletResponse response) throws ServletException,
                                                                                         IOException {
            super.service (request, response);
     
            HttpSession session = request.getSession (true);
            String login = request.getParameter ("login");
            String pwd = request.getParameter ("pwd");
     
            EntityManager em = PersistenceUtil.getInstance ( ).getEntityManager ( );
            EntityTransaction tx = em.getTransaction ( );
            tx.begin ( );
            User user = em.find (User.class, login);
            tx.commit ( );
            em.close ( );
     
            if (user.getPassword ( ).equals (pwd)) {
                System.out.println ("OK");
                session.getServletContext ( )
                       .getRequestDispatcher ("/bienvenue.jsp")
                       .forward (request, response);
            } else {
                System.out.println ("HS");
                session.getServletContext ( ).getRequestDispatcher ("/nologin.jsp").forward (request,
                                                                                              response);
            }
        }
    et voici mes pages jsp, générées par eclipse :
    login.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
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Identification</title>
    </head>
    <body>
     
     
    <form method="post" action="TraiterLogin">
    <table cellpadding="2" >
    <thead>
        <tr ><td align="center" colspan="2"><h2>Identification</h2></td></tr>
    </thead>
    <tr>
        <td>Login :</td><td><input type="text" name="login"></input></td>
    </tr><tr>
        <td>Mot de passe :</td><td><input type="password" name="pwd"></td>
    </tr><tr>
        <td colspan="2" align="center"><input type="submit" value="Connexion"></input></td>
    </tr>
    </table>
    </form>
    </body>
    </html>
    et nologin.jsp (La page de bienvenue est la même, au message près) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Insert title here</title>
    </head>
    <body>
    <h1>Raté, tu feras mieux la prochaine fois !</h1>
    </body>
    </html>
    Un grand merci à tous ceux qui m'aideront !

  2. #2
    Membre confirmé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 144
    Points : 645
    Points
    645
    Par défaut
    ça y est, j'ai enfin fini par trouver. Il suffit de supprimer la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    super.service (request, response);
    2 jours bloqués la dessus, honte à moi ...

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

Discussions similaires

  1. Message d'erreur: Impossible d'utiliser forward..
    Par kladios dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 11/05/2012, 18h42
  2. [WebLogic Portal] Faire un forward en utilisant un backing file
    Par azeer dans le forum Portails
    Réponses: 0
    Dernier message: 19/09/2011, 18h48
  3. Erreur:Impossible d'utiliser faire-suivre (forward)
    Par mazizou dans le forum Struts 1
    Réponses: 6
    Dernier message: 28/03/2007, 00h57
  4. impossible d'utiliser un HWND parent dans un thread
    Par sylvain114d dans le forum Windows
    Réponses: 12
    Dernier message: 23/09/2004, 12h21
  5. impossible d'utiliser ma fonction dans un insert
    Par caramel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/04/2003, 15h04

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