<%@page import="javax.imageio.ImageIO"%> <%@page import="java.awt.Font"%> <%@page import="java.util.Random"%> <%@page import="java.awt.Color"%> <%@page import="java.awt.Graphics"%> <%@page import="java.awt.image.BufferedImage"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% /** * 生成图片验证码 * author : zxb * datetime : 2015.3.20 */ %> <% //无缓存 response.setHeader("Cache-Control", "no-cache"); //图像大小 int width = 142 , height =44; //在内存中创建图像 BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR); //获取画笔 Graphics graphics = image.getGraphics(); //设置背景色 graphics.setColor(new Color(200,255,200)); graphics.fillRect(0, 0, width, height); //获取随机产生的验证码 Random rdm = new Random(); int randRdm = rdm.nextInt(8999) + 1000; String strRdm = String.valueOf(randRdm); //验证码存入session session.setAttribute("REGISTER_CODE", strRdm); graphics.setColor(Color.black); graphics.setFont(new Font("",Font.PLAIN,30)); graphics.setColor(new Color(0,153,255)); graphics.drawString(strRdm, 28, 35); //随机产生100个干扰点 for(int i = 0; i< 10;i++){ int x = rdm.nextInt(width); int y = rdm.nextInt(height); graphics.drawOval(x, y, width, height); graphics.setColor(new Color(0,255,255)); } ImageIO.write(image, "JPEG", response.getOutputStream()); out.clear(); out = pageContext.pushBody(); %>