没有合适的资源?快使用搜索试试~ 我知道了~
首页JSP实现登录功能之添加验证码
jsp登陆验证,网页登陆验证带验证码校验,登录功能之添加验证码 part_1:专门用于生成一个验证码图片的类:VerificationCode.Java package cn.mike.javase.test; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutpu
资源详情
资源评论
资源推荐

JSP实现登录功能之添加验证码实现登录功能之添加验证码
jsp登陆验证,网页登陆验证带验证码校验,登录功能之添加验证码
part_1:专门用于生成一个验证码图片的类:专门用于生成一个验证码图片的类:VerificationCode.Java
package cn.mike.javase.test;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;
import javax.imageio.ImageIO;
import org.junit.Test;
/**
* @author : Administrator
* @function : 这是用来测试随机生成验证码图片的类;
*/
public class VerificationCode {
/**
* 单元测试,试一下能不能自动生成验证码图片
*/
// 这个函数是单元测试时使用的,这里private一下外面就调用不到了;
/* @Test */
/* public */private void test_fun() {
VerificationCode vc = new VerificationCode();
BufferedImage image = vc.getImage();
try {
// 生成验证码图片,并保存到指定的路径
VerificationCode.output(image, new FileOutputStream(new File(
".\image\vcode_2.jpg")));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 将随机生成的文本内容输出到控制台,用于校验
System.out.println(vc.getText());
}
private int w = 70;// 宽
private int h = 35;// 高
private String text;// 文本内容(验证码字符串)
private Random r = new Random();
private String[] fontNames = { "宋体", "华文楷体", "黑体", "微软雅黑", "楷体_GB2312" };
// 随机字符集合中不包括0和o,O,1和l,因为这些不易区分
private String codes = "23456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYXZ";
// 验证码图片的背景色:白色
private Color bgColor = new Color(255, 255, 255);
/**
* 返回一个验证码图片buffer对象:BufferedImage
*/
public BufferedImage getImage() {
BufferedImage image = createImage();
// 获取绘图环境(画笔工具)
Graphics2D g2 = (Graphics2D) image.getGraphics();
// sb : 用来保存验证码字符串文本内容
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 4; ++i) {// 随机生成4个字符
String s = randomChar() + "";
sb.append(s);
float x = i * 1.0F * w / 4;
g2.setFont(randomFont());
g2.setColor(randomColor());
g2.drawString(s, x, h - 5);
}
this.text = sb.toString();// 记录验证码文本内容
drawLine(image);// 画干扰线
return image;
}
/**
* @return 获取验证码文本内容
*/
public String getText() {
return text;
}
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0