虚拟号码生成器验证码 网络编程中网页中的验证码生成
网络编程中网页中的验证码生成
今天我们直接上代码来介绍一下关于网络编程中网页中的验证码生成的方法
<%
//no cache指示请求或响应消息不能缓存
response setHeader( Cache Control no cache );
int width = height = ;
//在内存中创建图像
BufferedImage image = new BufferedImage(width height
BufferedImage TYPE_INT_RGB);
//获取画笔
Graphics g = image getGraphics();
//设置画笔颜色
g setColor(Color WHITE);
g fillRect( width height);
//开始生成验证码 这里用加法求和
Random r = new Random();
int num = r nextInt( );//操作数
int num = r nextInt( );//操作数

int result = num + num ;//加法和结果
String code = String valueOf(result);
//将验证码存入session
session setAttribute( code code);
//将验证码显示到图像中
g setColor(Color BLACK);
g setFont(new Font( Font PLAIN ));
g drawString(num + + +num + = ? );
//随即产生干扰图像
//随即产生 条直线
for (int i = ; i < ; i++) {
int x = r nextInt(width);
int y = r nextInt(height);
g setColor(Color RED);
g drawLine(width/(x+ ) height/(y+ ) x y);
}
//产生 个点
for(int i= ;i< ;i++) {
int x = r nextInt(width);
int y = r nextInt(height);
g setColor(Color BLUE);
g drawOval(x y );
}
ImageIO write(image JPEG response getOutputStream());
out clear();
out = pageContext pushBody();
%>
lishixinzhi/Article/program/Java/hx/201311/26186