将JSP在内存生成的图片显示到页面

  Imaging_ToWeb.jsp

  <%@ page autoFlush="false"  import="java.awt.*,java.awt.image.*,com.sun.image.codec.jpeg.*,java.util.*"%>

  <%

  String ImageStr = request.getParameter("ID_Text");

  if(ImageStr==null || ImageStr.equals(""))

  {

  response.setContentType("text/html; charset=gb2312");

  %>

  <HTML>

  <HEAD>

  <title>Http://www.lionsky.net</title>

  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

  </HEAD>

  <body>

  <form id="Form1" method="post">

  <input type="text" id="ID_Text" name=ID_Text>

  <input type=submit value="GO">

  </form>

  </body>

  </HTML>

  <%

  }

  else

  {

  out.clear();

  response.setContentType("image/jpeg");

  response.addHeader("pragma","NO-cache");

  response.addHeader("Cache-Control","no-cache");

  response.addDateHeader("Expries",0);

  int width=300, height=100;

  BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

  Graphics g = image.getGraphics();

  //以下填充背景颜色

  g.setColor(Color.lightGray);

  g.fillRect(0, 0, width, height);

  String random="random";

  //以下设置前景色

  g.setColor(Color.BLACK);

  g.drawString("Http://www.knowsky.com",10,20);

  g.drawString("Author:Lion[[email protected]]",10,40);

  g.drawLine(10,50,290,50);

  g.drawString(ImageStr,10,70);

  g.dispose();

  ServletOutputStream outStream = response.getOutputStream();

  JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(outStream);

  encoder.encode(image);

  outStream.close();

  }

  %>