Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/05/2007, 04:41
sberna
 
Fecha de Ingreso: mayo-2007
Mensajes: 11
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: Incluir imagen generada con jfreechart

No puedes usar un JSP para devolver un binario en JAVA.

La diferencia es sutil pero muy importante. En JAVA existen dos objetos que controlan la salida de aplicaciones, uno es la clase OutputStream y el otro es la clase Writer.

Su funcionamiento es radicalmente distinto, la clase OutputStream asume que la salida es binaria y no debe de cumplir ningun encoding de caracteres por lo que no hace ninguna transformacion. Sin embargo la clase Writer asume que la salida debe cumplit un encoding determinado, normalment UTF-8.

En el caso que estas intentando, cometes un error muy comun de desarrolladores noveles, un JSP solo permite la escritura a traves de la clase Writer, asi que automaticamente intenta convertir todo lo que escribes en el Writer al encoding seleccionado haciendo las transformaciones necesarias. En definitva al usar un JSP la salida binaria esta siendo corrompida de forma automatica por el servidor de aplicaciones.

Para resolver tu problema solo tienes un opcion que es usar un servlet en vez de un JSP y usar el metodo getOutputStream()