Java/Servlets/Chart

Материал из Java эксперт
Перейти к: навигация, поиск

Servlet to draw a Graphical Chart in response to a user request

   <source lang="java">

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();
 }

}

      </source>