`
ssun125
  • 浏览: 44710 次
文章分类
社区版块
存档分类
最新评论

JSP验证码图片生成

 
阅读更多

JSP验证码图片生成

<%@ page contentType="image/jpeg"
	import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*,java.io.*"%>
<%!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);
	}%>
<%
	//设置页面不缓存
	response.setHeader("Pragma", "No-cache");
	response.setHeader("Cache-Control", "no-cache");
	response.setDateHeader("Expires", 0);

	// 在内存中创建图象
	int width = 100, height = 30;
	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, 22));

	// 随机产生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);
	}

	// 取随机产生的认证码(6位数字)

	String codeList = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";

	String sRand = "";

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

	// 将认证码存入SESSION
	session.setAttribute("rand", sRand);

	// 图象生效
	g.dispose();

	// 输出图象到页面
	ImageIO.write(image, "JPEG", response.getOutputStream());
	out.clear();
	out = pageContext.pushBody();
%>


参考csdn论坛


分享到:
评论

相关推荐

    JSP页面验证码生成图片

    ### JSP页面验证码生成图片详解 #### 一、概述 在网站登录或注册过程中,为了防止恶意登录或机器人操作,通常会使用验证码机制。本文档详细介绍了一种利用JSP技术生成验证码图片的方法。该方法通过Java后端动态...

    利用jsp生成图片验证码

    在本主题“利用jsp生成图片验证码”中,我们将探讨如何在JavaServer Pages (JSP)上下文中创建一个简单的图片验证码,而无需使用Servlet。首先,我们要明白JSP是Java Web开发中的视图层技术,它允许我们在HTML页面中...

    jsp四位验证码图片生成

    总的来说,JSP验证码更适合于服务器端生成,提供更高的安全性,而JavaScript验证码则注重用户体验。在实际应用中,可以根据项目需求和安全级别来选择合适的方式。同时,为了提高验证码的安全性,还可以结合其他技术...

    JSP生成图片验证码

    JSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txtJSP生成图片验证码.txt

    JSP 生成随机验证码图片(经典老代码)

    JSP 生成随机验证码图片(经典老代码)

    基于jsp的验证码自动生成

    在Web开发中,基于JSP(Java Server Pages)的验证码生成系统是常见的实现方式。本文将详细讨论如何使用Java编程语言和JSP技术来创建一个动态验证码生成系统。 首先,我们需要了解JSP的基本概念。JSP是Java的一种...

    jsp验证码图片例子

    生成JSP验证码图片的过程主要包括以下几个步骤: 1. **生成随机字符串**:首先,我们需要在服务器端生成一个随机的字符串,这个字符串将作为验证码的内容。通常长度在4到6个字符之间,包含大小写字母和数字,确保既...

    JSP中利用Servlet生成验证码图片

    ### JSP中利用Servlet生成验证码图片 在Web应用开发中,验证码被广泛应用于用户登录、表单提交等场景,以防止自动化的恶意攻击。本文将详细介绍如何在Java Server Pages (JSP) 和 Servlet 技术的基础上,实现一个...

    生成验证码图片的jsp代码

    在Web开发中,使用JSP(JavaServer Pages)来生成验证码图片是一种常见的方法。下面我们将详细讨论如何在JSP中实现验证码的生成。 首先,我们需要理解验证码的基本原理。验证码通常包含一串随机的字母和数字,有时...

    JSP中彩色验证码 注册验证码 中文验证码 图片验证码的生成

    JSP中彩色验证码 注册验证码 中文验证码 图片验证码的生成

    JSP验证码生成需要的Jar包

    在本例中,"JSP验证码生成需要的Jar包"提到了两个关键的Jar包:`pmiw.jar` 和 `taglibs-image.jar`。 1. **`pmiw.jar`**: 这个Jar包可能包含了用于生成验证码的相关类和方法。`pmiw`可能是某个第三方库或者项目的...

    jsp随机验证码生成测试

    本项目“jsp随机验证码生成测试”提供了一个基于Java Server Pages (JSP) 实现的验证码生成实例,旨在帮助开发者理解和实践如何在Web应用程序中集成验证码功能。 验证码的主要目的是验证用户是人而不是计算机程序。...

    jsp随机生成验证码

    总结,使用JSP生成随机验证码涉及到JSP基本语法、内置对象、字符串操作、随机数生成、图像处理以及服务器端验证等多个知识点。这个过程不仅有助于提高网站安全性,也是理解JSP和Web开发实践的重要一课。

    验证码图片生成工具类,jsp类型

    一个可以生成验证码图片的jsp。

    jsp验证码生成以及刷新

    jsp 验证码生成和刷新详解 jsp 验证码生成和刷新是 Web 开发中非常重要的一部分。验证码的生成和刷新可以防止机器人攻击和恶意注册。下面我们将详细介绍 jsp 验证码生成和刷新的过程。 一、四位数据的验证图片生成...

    Jsp图片验证码

    `JSP`(JavaServer Pages)是Java的一种动态网页技术,可以用来生成图片验证码。下面我们将详细探讨如何在JSP中创建图片验证码以及验证用户输入的验证码是否正确。 ### 1. 图片验证码的生成原理 图片验证码的基本...

    Jsp验证码生成

    Jsp生成随机验证码 1.使用方式:在Jsp页面使用标签即可,例如:&lt;img src="../image.jsp" title="验证码" alt="验证码" id="vCode" /&gt; 2.本代码生成的验证码是一张 由26个英文字母和0-9随机组成的一个组合

    生成验证码 jsp 图片验证码

    在本主题中,我们将详细探讨如何使用Java Servlet(jsp)来生成图片验证码。 首先,我们需要理解验证码的基本原理。验证码通常包含一串随机生成的字母和数字,显示在一张图片上,用户需要输入看到的文字以证明他们...

    jsp页面方式生成验证码

    用jsp页面的方式实现验证码的生成和获取

    jsp生成动态验证码

    jsp生成动态验证码,jsp生成动态验证码。

Global site tag (gtag.js) - Google Analytics