Bonjour à tous,
dans ma servlet j'ai une condition avec un requestDispatcher qui redirige ma webapp sur une page d'erreur (erreur.html) si une condition est vérifiée, si la condition n'est pas vérifiée alors le programme s'execute et une page de résultats s'affiche, or depuis que j'ai implémenté la redirection vers une page d'erreur avec mon requestDispatcher la 2 éme partie de mon test ne fonctionne plus, lorsque j'entre un fichier valide en entrée (je suis donc dans le "else") j'ai le message suivant qui apparait sous tomcat :
j'ai essayé de contourner ça en codant autrement mais rien n'y fait, j'aimerai savoir si quelqu'un avait une idée, voici le code en question :java.lang.IllegalStateException: Impossible d'utiliser faire-suivre (forward) après que la réponse ait été envoyée
controller.ProcessusNew.doPost(ProcessusNew.java:1644)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Si je retire le RequestDispatcher du else je n'ai plus de message d'erreur mais je ne suis pu redirigé vers la page des résultats
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 if (session.getAttribute("status").equals(new Integer(42))) { /** If an error, we go back ... */ //pageDestination = ProcessusNew.getScriptDestination(erreur); RequestDispatcher dispatcher = requete.getRequestDispatcher("erreur.html"); try {dispatcher.forward(requete,reponse); } catch (ServletException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } else { /** ... else we continue to the destination ! */ pageDestination = ProcessusNew.getScriptDestination(destinaInterface); } RequestDispatcher rd = this.getServletContext().getRequestDispatcher(pageDestination); try { rd.forward(requete,reponse); } catch (ServletException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
Merci à vous
Partager