//设置页面不缓存
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(JavaServer Pages)环境中生成具有中文字符的随机验证码。 首先,JSP是Java的一种视图技术,它允许开发人员将动态代码嵌入到HTML、XML或其他标记语言...
### JSP中文验证码实现原理与源码解析 #### 一、引言 在现代Web应用中,验证码是一种常见的用户交互安全机制,用于区分用户是人类还是自动化程序。本文将详细介绍一个基于Java Server Pages (JSP)技术实现的中文...
在JSP(Java Server Pages)环境中实现验证码生成与验证,是确保网站安全的重要环节之一。根据给定的文件信息,我们可以详细解析其中涉及的关键知识点。 ### JSP中的验证码编写 #### 验证码生成 验证码生成主要...
在这个场景中,我们关注的是在JSP(Java Server Pages)和Java环境中生成中文验证码的技术。 首先,`jsp java 生成中文验证码`这个标题暗示我们要讨论如何在JSP应用中使用Java来创建包含中文字符的验证码。JSP是...
在本篇中,我们将详细探讨如何在Java Server Pages(JSP)环境中实现验证码功能。 验证码的主要目的是区分人类用户与机器,确保只有前者能进行特定的操作,比如注册、登录或提交表单。常见的验证码类型有图像验证码...
### jsp验证码——数字 #### 知识点详解 ##### JSP 验证码实现原理与过程 在本文档中,我们关注一个基于JavaServer Pages (JSP) 的数字验证码生成示例。此示例主要涉及到JSP页面的配置、Java图形处理库的使用以及...
在这个案例中,我们将用JSP来生成和处理图形验证码。 图形验证码的主要功能包括: 1. **生成随机字符**:在服务器端,我们需要生成一组随机的字母或数字作为验证码,通常长度为4到6位。这可以通过Java的`Random`类...
经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码
在这个项目中,我们重点探讨如何使用JSP来创建用户登录界面,并结合图形验证码来防止恶意自动登录尝试,从而保护系统的安全性。 首先,JSP是Java平台上的动态网页技术,它允许开发人员在HTML或者XML文档中嵌入Java...
在这个【分享】JSP语音验证码接口demo中,我们聚焦于如何利用JSP技术实现一个高效、可靠的语音验证码功能。 1. **JSP基础**: - **基本原理**:JSP是一种服务器端脚本语言,它将HTML、CSS和JavaScript等前端元素与...
2. **JSP验证码实现步骤**: - **生成验证码**:在服务器端,可以使用Java的`Random`类生成随机字符串,然后存入session中。 - **展示验证码**:将生成的验证码通过JSP页面显示出来,如果是图片验证码,需要使用...
### jsp验证码学习代码 #### 一、简介 在web应用程序的安全性方面,验证码是一种常见的保护机制,可以有效防止机器自动填写表单等自动化攻击行为。对于使用Java Server Pages(JSP)技术进行Web开发的技术人员来说...
很实用的jsp中文验证,一看就会! 适合各类开发人员使用!
在这个"JSP编程验证码登录系统"中,我们将深入探讨如何使用JSP来创建一个安全的登录页面,其中包含验证码功能,以防止恶意的自动化尝试或机器人攻击。 验证码(CAPTCHA)是"Completely Automated Public Turing ...
在JSP(JavaServer Pages)中实现验证码,主要是为了确保用户是真实的活生生的人,而不是机器,以此增加网站的安全性。这里我们将深入探讨JSP实现验证码的原理、步骤以及涉及到的相关知识点。 验证码的基本流程包括...