Hola no puedes hacerlo asi, supongo que lo que estas haciendo es dentro de la jsp
Código:
<%= ChartUtilities.writeChartAsJPEG(out,grafico,ancho,alto)%>
debes hacer lo siguiente:
1.- En tu JSP crearte una etiqueta <img> de esta manera
Código HTML:
<img src="ServletGrafico">
donde ServletGrafico sera el servlet que te redirija a la clase que te lo trate, p.e. llamemos a la clase servletGrafico, quedando en el web.xml
Código:
<servlet>
<servlet-name>ServletGrafico</servlet-name>
<servlet-class>servletGrafico</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletGrafico</servlet-name>
<url-pattern>/ServletGrafico</url-pattern>
</servlet-mapping>
en
servlet-class debe ir el nombre totalmente cualificado de la clase, es decir, si el servlet lo tienes metido en el paquete llamado
src.servlets, pues el
servlet-class debe ser
<servlet-class>src.servlets.servletGrafico</servlet-class>
2.- en el servlet que lo trata debe poner el siguiente codigo, al tratarse de un servlet doy por supuesto que debes tratarlo dentro del metodo doGet(HttpServletRequest, HttpServletResponse).
Código:
res.setContentType("image/jpeg");
try
{
OutputStream out = res.getOutputStream();
ChartUtilities.writeChartAsJPEG(out, graficoBarras, Integer.parseInt(sAncho.trim()), Integer.parseInt(sAlto.trim()));
out.close();
}
catch (Exception e)
{
e.printStackTrace();
}
ya con esto debe funcionarte, debe saber que el método writeChartAsPNG o writeChartAsJPEG se comunica con la JSP mediante Stream, entonces la unica manera de pintar la grafica es asi.
Espero haberte ayudado. Saludos