Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Tuesday, December 11, 2007

java code for Servlet to draw a Graphical Chart in response to a user request

import java.awt.*;
import java.awt.image.*;
import javax.imageio.*; // IF THIS FAILS TO COMPILE YOU NEED JDK1.4.
import javax.imageio.stream.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

/** Servlet to draw a Graphical Chart in response to a user request
*/
public class ChartServlet extends HttpServlet {
private static int W = 300, H = 200;

/** Draw a Graphical Chart in response to a user request */
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException {

response.setContentType("image/jpeg");

// Create an Image
BufferedImage img =
new BufferedImage(W, H,
BufferedImage.TYPE_INT_RGB);

// Get the Image's Graphics, and draw.
Graphics2D g = img.createGraphics();

// In real life this would call some charting software...
g.setColor(Color.white);
g.fillRect(0,0, W, H);
g.setColor(Color.green);
g.fillOval(100, 75, 50, 50);

// Write the output
OutputStream os = response.getOutputStream();
ImageOutputStream ios = ImageIO.createImageOutputStream(os);

if (!ImageIO.write(img, "jpeg", ios)) {
log("Boo hoo, failed to write JPEG");
}
ios.close();
os.close();
}
}

No comments: