ImageTest.java

package com.bozoid.test;

import java.lang.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.sql.*;

import org.jfree.chart.*;
import org.jfree.data.*;

/**
Demonstration of a graphics-enabled servlet.
*/
public class ImageTest extends HttpServlet
{
    protected void doGet(HttpServletRequest req,
        HttpServletResponse res)
        throws ServletException, IOException
    {
        res.setContentType("image/png");
        OutputStream out = res.getOutputStream();

        XYSeries xy = new XYSeries("Parabola 1");
        for (double x=-5.0; x<=5.0; x+=0.5)
            xy.add(x,x*x);
        XYSeries xy2 = new XYSeries("Parabola 2");
        for (double x=-5.0; x<=5.0; x+=0.5)
            xy2.add(x-2.0,x*x*1.5);
        XYSeriesCollection collect = new XYSeriesCollection(xy);
        collect.addSeries(xy2);
        JFreeChart fc = 
            ChartFactory.createLineXYChart(
                "Simple title","X axis","Y axis",collect,
                false,false,false);

        org.jfree.chart.ChartUtilities.writeChartAsPNG(out,fc,500,300);
        out.close();
        res.flushBuffer();
    }

    public String getServletInfo()
    {
        return "Simple charting servlet";
    }
}