/**
* 利用Servlet生成动态的图像
* JPEGServlet.java
*/
import java.awt.Color;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class JPEGServlet extends HttpServlet{
/**
* 处理 Http Get request
*/
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("image/jpeg");
//注意这里的MIME 类型
ServletOutputStream out = response.getOutputStream();
//构造一个缓冲图像
BufferedImage image = new BufferedImage(750,30,BufferedImage.TYPE_INT_RGB);
int per = 0;
per = Integer.parseInt((String)getInitParameter("size"));
Graphics graphics = image.getGraphics();
graphics.setColor(Color.green);
graphics.fillRect(0,0,750,30);//first draw a rectangle
graphics.setColor(Color.YELLOW);//change color
graphics.fillRect(0,0,750*per/100,30);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
/**
* 处理 Http Post request,和doGet一样
*/
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException{
doGet(request,response);
}
}