Bonjour ,
Je developpe une application avec struts et j'aimerai bien rediriger toute erreur innattendue dans une page appropriée ,donc la solution que j'ai adopté ,j'ai crée une servlet dans laquelle je traite les exceptions .j'ai deux types d'exceptions :
1-les exception qui se déclenchent au niveau des mes actions (traitement) ,pour ce type ce n'est pas un probleme j'arrive à faire la redirection.
2-les exception détecté dans mes page jsp celle la pose des problemes je m'explique :l'exception est detectée aprés l'execution de l'action associée à ma page jsp.et dans l'action je fait "mapping.findForwarde("maJsp");cad j'envoi et je commite la réponse ,resultat:tomcat detecte une exception de type java.lang.IllegalStateException qui dit que la répnse est dèja commité ,j'arrive à afficher le statu de la réponse (response.isCommited()) il est à "true".
Ma question est comment ecraser et changer une redirection dèja commitée.
Pour bien comprendere 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
package fr.iga.ivioto.servlet;
 
 
import java.io.IOException;
 
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
import org.apache.struts.action.ActionServlet;
public class MyServlet extends ActionServlet{
/**
	 * 
	 */
public MyServlet()
{	
}
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException 
{
System.out.println("============doGet");
try{
super.doGet(request,response);
}
catch(Exception e)
{ 
	System.out.println("============MyExceptiondoGet");
	request.setAttribute("error", e);
	request.getRequestDispatcher ("/WEB-INF/pages/util_erreur.jsp").forward(request,response);
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException
{
	try{
	super.doPost(request,response);
	System.out.println("============doPost");
	}
	catch(Exception e)
	{
	System.out.println("============MyExceptiondoPost");
	request.setAttribute("error", e);
	response.sendRedirect("/WEB-INF/pages/util_erreur.jsp");
	doGet(request,response);
	}
}
public void init() throws ServletException
{
    super.init();
}
 
}
Merci d'avance