[JSP] Filter JPS et PrintWriter bug enconprehensible

Filter JPS et PrintWriter bug enconprehensible [JSP] - Java - Programmation

Marsh Posté le 16-10-2003 à 17:20:00    

alors walla le biz :  
 
J ai créer un filtre pour faire un pseudo "buffer" de log ...
et j ai un page jsp qui doit acceder a ce "buffer"
donc j ai mis un attribut dans ma session pour pouvoir l echanger
mais le pb c est que rien n est ecrit dedans lorsque j essaye de l afficher.... alors d autre filtre et servlet accede a cette ressource et ca marche
 
Filtre

Code :
  1. public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
  2.                       throws java.io.IOException, javax.servlet.ServletException
  3.   {
  4.     if ((request instanceof HttpServletRequest) == false)
  5.       return ;
  6.     CharArrayWriter caw = new CharArrayWriter();
  7.     PrintWriter pw = new PrintWriter(caw);
  8.     ((HttpServletRequest)request).getSession().setAttribute("com.my.filter.Logger", pw);
  9.     chain.doFilter(request, response);
  10.     ((HttpServletRequest)request).getSession().removeAttribute("com.my.filter.Logger" );
  11.     System.out.println(caw.toString());
  12.     pw.close();
  13.   }
  14. }


 
JSP :

Code :
  1. PrintWriter pw = (PrintWriter)(request.getSession().getAttribute("com.my.filter.Logger" ));
  2.     if (pw != null)
  3. pw.println("Test d affichage" );


 
 
est ce que j ai fait qqch de mal :??:


Message édité par MrTonio le 16-10-2003 à 17:22:06
Reply

Marsh Posté le 16-10-2003 à 17:20:00   

Reply

Marsh Posté le 16-10-2003 à 17:23:18    

le mapping de ton filtre est correct ?
rajoute des logs pour voir si tu passes bien dans le filtre, et log aussi pour voir si le printwritter récupéré dans la JSP n'est pas null


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

Marsh Posté le 16-10-2003 à 17:25:22    

benou a écrit :

le mapping de ton filtre est correct ?
rajoute des logs pour voir si tu passes bien dans le filtre, et log aussi pour voir si le printwritter récupéré dans la JSP n'est pas null  


 
J ai oublié de preciser que je passe bien dans le filtre puisque les autres Filtre et Servlet en question arrivent a logger
Et le PrintWriter dans la JSP est bien != de null : java.io.PrintWriter@2aea3e

Reply

Marsh Posté le 16-10-2003 à 17:30:21    

ben je sais pas moi ... vérifie que c'est la même instance que t'as dans le filtre et dans la JSP ...
 
doit y a voir un truc à la con puisque ca devrait marhcher ...


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

Marsh Posté le 16-10-2003 à 17:31:09    

t'as d'autres filtres ? t'es sûr qu'il y a pas un des filtre qui fait un dispatch vers la JSP tu es CERTAIN que tu passes dans le filtre ?


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

Marsh Posté le 16-10-2003 à 17:37:03    

ouais ouais certain
 
J ai bien la meme instance dans tous les filtres et la JSP
c est a n y rien comprendre je me prends la tete dessus depuis 2 heures :cry:

Reply

Marsh Posté le 16-10-2003 à 17:45:23    

en effet, c'est à n'y rien comprendre.
T'as pas un débugueur sous la main ?


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

Marsh Posté le 16-10-2003 à 17:47:01    

JBuilder
mais je sais pas comment un debug du jsp avec ...


Message édité par MrTonio le 16-10-2003 à 17:47:26
Reply

Marsh Posté le 16-10-2003 à 17:49:59    

Pour etre plus precis, en tout j ai 3 filtre :  
- celui qui créer le log
- un qui compte les données sortante (taille de la page HTML généré par le JSP par exemple)
- un qui determine le temps de génération des pages

Reply

Marsh Posté le 16-10-2003 à 17:51:40    

avec JBuilder je sais pas ...
 
avec eclipse tu peux associer les fichiers sources aux classes pendant le debug => ca doit se faire assez facilement ....
 
sinon, balance le CharArrayInputStream en session aussi, et adns la jsp, après avoir écrit dans le printwriter, essaye de lire ce qu'il y a dans le chararraymachin
 
Essaye aussi dans le filtre de faire un close ou un flush sur le printwritter des fois que ce serait un problème de bufferisation, mais il ne me semble pas que le printwriter bufferise


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

Marsh Posté le 16-10-2003 à 17:51:40   

Reply

Marsh Posté le 16-10-2003 à 17:52:29    

oups ... en fait le printwritter bufferise puisqu'il y a une option "autoFlush" à la création donc ca doit être bettement ca ...


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

Marsh Posté le 16-10-2003 à 18:14:25    

benou a écrit :

oups ... en fait le printwritter bufferise puisqu'il y a une option "autoFlush" à la création donc ca doit être bettement ca ...


 
[:arg]  
boulay man is me !!!!
 
le bout de code ke j ai montré etait dans un if
et mais affichages de debbug etait en dehors  :fou:  
donc tout paraissait ok ................
faut ke je dormes plus  :(  
 
 
bon now ca marche merci pour les conseils benou :jap:


Message édité par MrTonio le 16-10-2003 à 18:15:07
Reply

Sujets relatifs:

Leave a Replay

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