Le mécanisme de gestion d'exceptions des JSP

Le mécanisme de gestion d'exceptions des JSP - Java - Programmation

Marsh Posté le 24-07-2003 à 15:46:01    

J'utilise ce mécanisme depuis un petit moment, mais là, je me retrouve confronté à un problème :
Je viens d'ajouter la possibilité de traduire ma web-app en diverses langues.
Pour cela, j'utilise un ResourceBundle, que j'attache à la session entant qu'attribut.
Pour récupérer une clé depuis un ResourceBundle, on fait :

Code :
  1. String truc = monResourceBundle.getString ("référence de la clé" );

 
Problème :
Si la clé n'est pas présente, le mécanisme de gestion de erreur JSP (avec la JSP d'erreur, isErrorPage, ...) ne semble pas fonctionner, et j'ai plein d'appels en boucle de ma JSP. du coup, au bout de 2 minutes : stackOverflow.
C'est bien emmerdant parce que l'utilisateur lambda ne va rien comprendre, et c une erreur qui a qd même pas mal de chance de sortir...
Est ce que ça peut être parce que "MissingResourceException" est une "RuntimeException" ? Je n'sais pas. En tout cas, vu les circonstances, il est impossible que je catch toutes ces exceptions ds mes JSP, ça mettrai un bordel pas possible, évidement.
Qqn pour m'aider ?

Reply

Marsh Posté le 24-07-2003 à 15:46:01   

Reply

Marsh Posté le 24-07-2003 à 15:51:55    

je vois pas pkoi la gestion d'exception JSP ne marcherai pas ...
le fait que ce soit une runtime n'a pas d'importance ...
 
c'est quoi qui provoque la boucle d'appel ??


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 24-07-2003 à 15:52:14    

bah le véritable problème c ton stackoverflow avant tout.


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 24-07-2003 à 17:12:40    

charges ta clé dans une servlet, et forward à ta jsp en suite que si la clé est présente ;)  :jap:

Reply

Marsh Posté le 24-07-2003 à 17:18:21    

Ce qui peut faire merder, c'est que l'exception se produit dans un JSP incluse dans une autre, par un tag <jsp:include.../>, mais bon, après j'ai pas trop d'idée.
Demain je posterai la pile d'appel qui fait l'overflow (là g pu l'temps !)

Reply

Marsh Posté le 25-07-2003 à 12:28:48    

Bon, je n'pense pas que la pile d'appels soit super interressante :


java.lang.StackOverflowError
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 


 
Mais fait, je vais en dire un peu plus :
J'ai une page "background.jsp" qui est incluse dans toutes mes autre jsp par le tag <jsp:include...
Si une exception se produit dans cette page, la servlet correspondante est rappelée en boucle par tomcat on dirait. Etonnant, non !?

Reply

Marsh Posté le 25-07-2003 à 12:30:59    

El_gringo a écrit :

Bon, je n'pense pas que la pile d'appels soit super interressante :


java.lang.StackOverflowError
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 at org.apache.catalina.core.ApplicationHttpRequest.setAttribute(ApplicationHttpRequest.java:251)
 


 
Mais fait, je vais en dire un peu plus :
J'ai une page "background.jsp" qui est incluse dans toutes mes autre jsp par le tag <jsp:include...
Si une exception se produit dans cette page, la servlet correspondante est rappelée en boucle par tomcat on dirait. Etonnant, non !?


 
bah faut voir ton design aussi ;) Y a peut etre un stress à ce niveau là. Et bon ca va etre dur de déterminer ca sans tout regarder :/


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 25-07-2003 à 12:55:27    

El_gringo a écrit :

Etonnant, non !?


pas si tu te sers aussi de cette jsp dans la page d'erreur ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 25-07-2003 à 12:56:06    

pkoi tu vas pas voir le code de ApplicationHttpRequest à la ligne qu'il te dit pour comprendre ce qui se passe ?


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 25-07-2003 à 14:08:44    

benou a écrit :


pas si tu te sers aussi de cette jsp dans la page d'erreur ...  


 
Non non, j'y ai pensé, mais non

Reply

Marsh Posté le 25-07-2003 à 14:08:44   

Reply

Marsh Posté le 25-07-2003 à 14:09:27    

benou a écrit :

pkoi tu vas pas voir le code de ApplicationHttpRequest à la ligne qu'il te dit pour comprendre ce qui se passe ?


 
ça doit être relativement incompréhensible le code source de Tomcat, non !?

Reply

Marsh Posté le 25-07-2003 à 14:44:14    

Bouhhhh, que j'ai été bête moi !
en fait, c'est normal. J'avais pas fait gaffe que j'inclue cette JSP dans la page d'erreur. Milles excuses à toi, benou, qui m'avait déja suggéré ça...

Reply

Marsh Posté le 25-07-2003 à 14:44:45    

El_gringo a écrit :

Bouhhhh, que j'ai été bête moi !
en fait, c'est normal. J'avais pas fait gaffe que j'inclue cette JSP dans la page d'erreur. Milles excuses à toi, benou, qui m'avait déja suggéré ça...


 
 :o


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 25-07-2003 à 15:01:23    

El_gringo a écrit :


ça doit être relativement incompréhensible le code source de Tomcat, non !?


bha nan ... c'est un prog java  comme un autre quoi ...
 
je suis déjà allé y faire un tour plus d'une fois !


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed