`
lw671579557
  • 浏览: 106033 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Create VerifyCode by jsp of java

    博客分类:
  • java
 
阅读更多

使用java生成VerifyCode

VerifyCode.jsp

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" pageEncoding="UTF-8" %>
<%!
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);
        }
%>
<%
try
{
//设置页面不缓存
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", 0);

out.println("01 _  verifyCode has created!!!");

String verifyCode = "9657";//(String)request.getSession().getAttribute(SessionConstant.LOGIN_USER_VERIFYCODE);
//End Modify 

// 在内存中创建图象
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);
}


String num = "";
for (int i=0;i<4;i++){
    num = verifyCode.substring(i, i+1);
    // 将认证码显示到图象中
    g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));//调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
    g.drawString(num,13*i+6,16);
}

// 图象生效
g.dispose();
// 输出图象到页面
ServletOutputStream os = response.getOutputStream();
ImageIO.write(image, "JPEG", os);
out.println("verifyCode has created!!!");
//加上后面的几句就是为了解决抛出的异常IllegalStateException
os.flush(); 
os.close(); 
os=null; 
response.flushBuffer(); 
out.clear(); 
out = pageContext.pushBody();
}
catch(Exception ex)
{
	out.println("Exception:" + ex.toString());
}

%> 

调用方法:在需要调用VerifyCode的页面使用<image src="VerifyCode.jsp"/>即可 

分享到:
评论

相关推荐

    java工具类——验证码(VerifyCode)

    验证码(VerifyCode)是Web应用中常用的一种安全机制,用于防止自动化的机器人或者恶意脚本进行非法操作,比如注册、登录、评论等。在Java中,我们可以创建一个工具类来生成这种随机验证码,以增强系统安全性。下面...

    java动态验证码(VerifyCode)

    生成验证码,直接创建VerifyCode实例,获取文字为getText()方法

    VerifyCode.java

    VerifyCode.java验证码的java类,仅供参考。。。。。。。

    VerifyCode

    VerifyCode,验证码,web应用; VerifyCode,验证码,web应用

    VerifyCode图片验证码的自动生成

    VerifyCode图片验证码的自动生成

    java 实现验证码(servlet+jsp)

    在Java Web开发中,我们可以使用Servlet和JSP来实现一个简单的图形验证码。以下将详细介绍如何利用这两个技术进行验证码的实现。 首先,理解验证码的基本原理:验证码是一种通过图像显示随机字符或数字的方式,用户...

    verifyCode.jar

    verifyCode.jar

    验证码 verifyCode demo

    在这个"验证码verifyCode demo"项目中,我们将探讨如何使用Java来创建和验证这种图形验证码。关键涉及的技术包括`java.awt.Graphics`、`java.util.Random`和`javax.imageio.ImageIO`。 1. **java.awt.Graphics**: ...

    java生成二维码,java将二维码转换成base64

    Java作为一款流行的编程语言,提供了丰富的库和API来处理二维码生成与解析。同时,Base64是一种用于在网络上传输二进制数据的编码方式,它将二进制数据转化为可打印的ASCII字符。现在我们详细探讨如何在Java中实现...

    VerifyCode.cs

    VerifyCode.cs,验证码库文件

    verifycode生成验证码工具类

    调用类自动生成验证码,可用于web项目的注册登录。详情看说明

    验证码例子VerifyCode

    验证码(VerifyCode)是互联网应用中广泛使用的一种安全机制,用于防止自动化的恶意操作,如机器人注册、垃圾邮件发送等。在这个例子中,我们有一个名为"VerifyCode"的类,它包含了生成验证码的功能。让我们深入了解...

    JSP彩色验证码的实现

    - **后端技术**:JSP(Java Server Pages) - **服务器环境**:如Tomcat等支持JSP的服务器 - **前端展示**:通过浏览器展示生成的彩色验证码图片 - **编程语言**:Java #### 三、核心代码解析 ##### 1. 导入必要包...

    JSP验证码登录程序

    在JSP(Java Server Pages)中,结合Servlet实现验证码功能,可以有效提升网站安全性。本文将深入探讨如何使用JSP和Servlet构建一个验证码登录程序。 ### 1. 验证码生成原理 验证码通常由随机生成的一串字符组成,...

    NoteVerifyCode

    @RequestMapping("/verifyCode") public class VerifyCodeController { @Autowired private SmsService smsService; @PostMapping("/send") public ResponseEntity&lt;String&gt; sendVerifyCode(@RequestParam(...

    VerifyCode.zip

    【标题】"VerifyCode.zip" 是一个包含Java编程语言实现的验证码生成系统,该系统具有图形用户界面(GUI)并且运用了神经网络技术。这个项目可能是作为学生的一个课程设计任务,目的是让学生掌握Java编程和神经网络的...

    VerifyCode.class

    VerifyCode.class

    VerifyCode:Python生成随机验证码模块

    VerifyCode Python生成随机验证码模块 安装 git clone https://github.com/TengTengCai/VerifyCode.git 该模块依赖Pillow图形处理库, 使用之前请先安装Pillow pip install pillow 使用 直接引入模块即可 from ...

    gm-verifyCode:imageMagick verifyCode

    在这个场景下,"gm-verifyCode:imageMagick verifyCode" 提到的是使用JavaScript配合ImageMagick库来创建和验证图像验证码的一个项目。ImageMagick是一个强大的命令行工具,可以处理各种图像格式,而JavaScript则常...

    验证码(JSP/Servlet)

    - `VerifyCode_Two`可能是一个包含验证码实现的Java类,它可能包含了生成验证码图像和验证用户输入的逻辑。这个类可能包括`generateCode()`用于生成验证码字符串,`createImage(String code)`用于绘制验证码图像,...

Global site tag (gtag.js) - Google Analytics