生成随机的5位登录验证码
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
static String code="";
publicclass checkService {
publicvoid checkCode(HttpServletRequest
req,HttpServletResponse resp)
throws ServletException,IOException{
//绘制画布
BufferedImage bf=new
BufferedImage(80,30,BufferedImage.TYPE_INT_BGR);
//获得画笔
Graphics g=bf.getGraphics();
//给画笔设置颜色
g.setColor(new Color(255,255,255));
//填充背景色
g.fillRect(0, 0, 80, 30);
//随机获得前景色
Random r=new Random();
g.setColor(new
Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));
//设置字体
Font f=new Font("",Font.BOLD,22);
//获得字体
g.setFont(f);
//以当前颜色和字体绘制干扰线
checkService.code=checkService.getstr();
g.drawString(checkService.code,10,25);
for(int i=0;i<10;i++){
g.drawLine(r.nextInt(80), r.nextInt(30), r.nextInt(80), r.nextInt(30));
}
//将图片按照jpeg算法压缩并发送给浏览器
resp.setContentType("image/jpeg");
OutputStream out =resp.getOutputStream();
javax.imageio.ImageIO.write(bf,"jpeg", out);
}
//生成随机的字符串验证码
publicstatic String getstr(){
String str="abcdefghijklmnopqrstuvwxyz0123456789";
Random r=new Random();
String code="";
for(int i=0;i<5;i++){
code+=str.charAt(r.nextInt(str.length()));
}
return code;
}
}。