<%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK" import="java.io.*, java.util.*, com.sun.image.codec.jpeg.*, java.awt.*, java.awt.image.*"%> <% //获取四位数的随机数 String s = ""; int intCount = 0; intCount = (new Random()).nextInt(9999); if (intCount < 1000) intCount += 1000; s = intCount + ""; // 注意比较完之后清除session. // 保存入session,用于与用户的输入进行比较. session.setAttribute("validateCode", s); //把session里面的值转为image类型 response.setContentType("image/gif"); BufferedImage image = new BufferedImage(35, 14, BufferedImage.TYPE_INT_RGB); Graphics gra = image.getGraphics(); // 设置背景色 gra.setColor(Color.gray); gra.fillRect(1, 1, 33, 12); // 设置字体色 gra.setColor(Color.black); //设置字体的类型和大小 gra.setFont(new Font("宋体", Font.PLAIN, 12)); // 输出数字 char c; for (int i = 0; i < 4; i++) { c = s.charAt(i); gra.drawString(c + "", i * 7 + 4, 11); // 7为宽度,11为上下高度位置 } OutputStream toClient = response.getOutputStream(); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(toClient); encoder.encode(image); toClient.close(); out.clear(); out = pageContext.pushBody(); %>