Olá a todos, consegui inplementar um servlet, sendo que não estou conseguindo passar a imagem para o JSP, como posso fazer, por favor, me ajudem!!
Servlet
import java.awt.Color;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.Plot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
public class ChartServlet extends HttpServlet {
/**
* atributo serial;
*/
private static final long serialVersionUID = -1997245402770915920L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGeneratePieChart(request,response);
}
protected void doGeneratePieChart(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
DefaultPieDataset ds = new DefaultPieDataset();
ds.setValue("Norte", 13000000);
ds.setValue("Nordeste", 48000000);
ds.setValue("Centro-Oeste", 11000000);
ds.setValue("Sudeste", 73000000);
ds.setValue("Sul", 25500000);
JFreeChart chart =
ChartFactory.createPieChart("População Nacional", ds, true, false, false);// create your chart
chart.setBackgroundPaint(Color.white);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
ChartUtilities.writeChartAsJPEG(baos, 1.0F, chart,400, 250, info);
response.setContentType("image/jpg");
OutputStream out = new BufferedOutputStream(response.getOutputStream());
out.write(baos.toByteArray());
out.flush();
// response.flushBuffer();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
JSP
<html>
<body>
<table>
<img src="ChartServlet">
</table>
</body>
</html>