//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);
// 在内存中创建图象
int width=60, height=20;
BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);
// 获取图形上下文
Graphics g = image.getGraphics();
//生成随机类
Random random = new Random();
// 设定背景色
g.setColor(getRandColor(200,250));
g.fillRect(0, 0, width, height);
//设定字体
g.setFont(new Font("Times New Roman",Font.PLAIN,18));
//画边框
//g.setColor(new Color());
//g.drawRect(0,0,width-1,height-1);
// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
g.setColor(getRandColor(160,200));
for (int i=0;i<155;i++)
{
int x = random.nextInt(width);
int y = random.nextInt(height);
int xl = random.nextInt(12);
int yl = random.nextInt(12);
g.drawLine(x,y,x+xl,y+yl);
}
// 取随机产生的认证码(4位数字)
String sRand="";
for (int i=0;i<4;i++){
String rand=String.valueOf(random.nextInt(10));
sRand+=rand;
// 将认证码显示到图象中
g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
g.drawString(rand,13*i+6,16);
}
// 将认证码存入SESSION
HttpSession session = request.getSession();
session.setAttribute("rand",sRand);
// 图象生效
g.dispose();
// 输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());
public Color getRandColor(int fc,int bc){
//给定范围获得随机颜色
Random random = new Random();
if(fc>255) fc=255;
if(bc>255) bc=255;
int r=fc+random.nextInt(bc-fc);
int g=fc+random.nextInt(bc-fc);
int b=fc+random.nextInt(bc-fc);
return new Color(r,g,b);
}
Jsp页面<img src=”servlet/mingzi” >
如要实现单击图片更换验证码在js中img.src="servlet/mingzi?i="+ Math.random();即可
分享到:
相关推荐
jsp中文验证码,能实现中文字的验证码,非常不错。
jsp验证码,jsp中文验证码,数字验证码,汉字验证码
JSP 中文验证码 实现方法 JSP 中文验证码 实现方法
jsp 中文验证码 源码 可以在指定的文字范围内
JSP中文验证码(源码),欢迎大家分享,评论,下载。
用jsp随机生成中文验证码,验证码背景颜色 、各文字大小、文字颜色随机变化,还在随机干扰线条。增加识别难度。
jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码jsp验证码代码
NULL 博文链接:https://essay.iteye.com/blog/342088
由中文作为验证码存在于JSP页面中,将会存在JSP中文乱码的现象,文章介绍如何调用JSP验证码和使用的方法,以及如何解决JSP中文验证码乱码问题和其他JAVA验证码的实现
验证码的实现.验证码的实现.验证码的实现.验证码的实现
这是一个关于数字做的jsp验证码,有不足的地方希望楼上的朋友给点意见!我想我会做的更好的!
JSP彩色验证码的实现JSP彩色验证码的实现JSP彩色验证码的实现JSP彩色验证码的实现
JSP数字验证码 JSP数字验证码 JSP数字验证码 JSP数字验证码 JSP数字验证码
通过随机获取验证码,然后输出,在主网页上!
经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码
jsp图形验证码源码,实现系统自动生成图片验证,输出随机验证码图片流,并返回验证码值,生成指定验证码图像文件。
JSP中彩色验证码 注册验证码 中文验证码 图片验证码的生成
JSP验证码大全之中文验证码(源码),很好的jsp学习源码验证示例!
jsp servlet 验证码 jsp servlet 验证码 jsp servlet 验证码
JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字JSP 验证码 字母 数字