`

JSP制作简单“验证码”

    博客分类:
  • J2EE
JSP 
阅读更多

用JSP写个简单的“验证码”

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="java.awt.image.BufferedImage"%>
<%@page import="java.awt.Graphics"%>
<%@page import="java.awt.Color"%>
<%@page import="java.io.OutputStream"%>
<%@page import="com.sun.image.codec.jpeg.JPEGImageEncoder"%>
<%@page import="com.sun.image.codec.jpeg.JPEGCodec"%>
<%@page import="java.awt.Font"%>
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://"
			+ request.getServerName() + ":" + request.getServerPort()
			+ path + "/";

	char[] mapTable = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
			'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
			'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7',
			'8', '9' };

	// 取随机产生的认证码  
	String strEnsure = "";

	// 4代表4位验证码  
	for (int i = 0; i < 4; ++i) {
		strEnsure += mapTable[(int) (mapTable.length * Math.random())];
	}
	session.setAttribute("strEnsure", strEnsure);

	response.setContentType("image/jpeg");
	// 图片的内存映像
	BufferedImage image = new BufferedImage(70, 24,
			BufferedImage.TYPE_INT_RGB);
	Random r = new Random();
	// 获得画笔对象
	Graphics g = image.getGraphics();
	g
			.setColor(new Color(r.nextInt(255), r.nextInt(255), r
					.nextInt(255)));
	g.fillRect(0, 0, 70, 24);
	g.setColor(new Color(0, 0, 0));
	g.setFont(new Font("Atlantic Inline", Font.PLAIN, 18));

	g.drawString(strEnsure, 11, 18);

	g.drawLine(r.nextInt(60), r.nextInt(20), r.nextInt(60), r
			.nextInt(20));
	// 压缩成jpeg格式
	OutputStream os = response.getOutputStream();
	JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(os);
	// 把BufferedImage对象中的图像信息编码后
	// 向创建该对象(encoder)时指定的输出流输出
	encoder.encode(image);
	out.clear();
	out = pageContext.pushBody();
%>

 

分享到:
评论

相关推荐

    验证码jsp源代码

    总结,这个"验证码jsp源代码"实例展示了如何利用JSP和Servlet创建一个简单的验证码登录系统,涵盖了服务器端动态页面生成、会话管理、表单提交验证等多个核心知识点。通过深入理解这些概念,开发者可以构建更复杂、...

    java 登录验证码制作

    本教程将详细讲解如何在Java JSP环境下制作一个简单的登录验证码。 首先,我们需要理解验证码的基本原理。验证码通常由随机生成的一串字符(包括字母、数字)组成,并通过图像展示出来,用户需要在输入框中正确输入...

    JSP 制作验证码的实例详解

    在本文中,我们将深入探讨如何使用JSP技术来制作验证码,包括它的原理、步骤和具体的代码实现。验证码,全称为“全自动区分计算机和人类的图灵测试”(CAPTCHA),是一种用于验证用户身份的安全机制,它能有效防止...

    原创-用Ajax制作带图形验证码的登录页面.

    ### 使用Ajax制作带图形验证码的登录页面 #### 一、前言 在现代Web开发中,安全性至关重要。其中,图形验证码作为一种防止自动化攻击的有效手段,被广泛应用于登录系统中。本文将详细介绍如何利用Ajax技术结合...

    Java 验证码制作

    本教程将深入讲解如何在Java环境下,结合JSP(Java Server Pages)来创建一个简单的验证码生成器。 验证码的核心在于生成随机且不可预测的字符串,通常包含字母和数字的组合。在提供的文件`RandomStrg.java`中,...

    JSP实用技巧集合,jsp编程的一些小技巧总结

    34. 制作验证码图片? 35. 图片缩小放大功能 36. 点击输入框弹出日期选择? 37. 在图片上传前查看自己要上传的图片? 38. 在图片排列的页面上选中一个图片,然后把它删掉? 39. 显示某目录下的所有文件 40. 把复选框中...

    基于jsp的简单论坛制作(报告加源代码).doc

    【基于jsp的简单论坛制作】是一个典型的Web开发项目,它主要使用Java Server Pages(JSP)技术来构建一个在线讨论平台。在这个项目中,我们将会深入理解如何利用JSP进行动态网页开发,以及如何实现基本的用户交互...

    jsp编程技巧集锦

    制作验证码图片? 35. 图片缩小放大功能 36. 点击输入框弹出日期选择? 37. 在图片上传前查看自己要上传的图片? 38. 在图片排列的页面上选中一个图片,然后把它删掉? 39. 显示某目录下的所有文件 ...

    使用开源工具制作网页验证码的方法

    本教程主要探讨如何使用开源工具Kaptcha来制作网页验证码。 首先,我们需要一个开发环境,这里使用的是Eclipse IDE。创建一个新的Web项目,这是构建任何Web应用程序的基础。接着,我们需要在项目的WebContent目录下...

    jsp动态生成图像

    这种技术在很多场景下都非常有用,比如验证码生成、图表制作、个性化头像生成等。下面我们将深入探讨JSP如何实现动态图像的生成。 1. **JSP基础** JSP(JavaServer Pages)是Java平台上的一个标准,用于创建动态...

    java 制作验证码并进行验证实例详解

    Java 制作验证码并进行验证实例详解 Java 制作验证码并进行验证实例详解是指在 Web 开发中,为了防止频繁的注册或登录行为,需要在注册、登录的页面上添加验证码,以验证用户的身份。下面是一个使用 Java 制作...

    JSP+—+Java+Web开发JSP+—+Java+Web开发

    首先,课程将回顾Java的基础知识,包括生成随机数、处理日期和时间、字符串操作(如charAt和indexOf)、Java Applet、集合框架以及URL、HTML表单和简单的验证码图片制作。此外,还会对JavaScript进行复习,学习事件...

    《JSP程序设计》课程标准.docx

    它建立在Java编程基础、网页设计与制作以及数据库原理与应用(如SQL Server)之上,旨在提升学生运用JSP技术进行Web应用程序开发的能力,并培养他们的编程规范和职业素养。 课程目标主要分为知识目标、专业能力目标...

    Java Web程序设计实验指导

    实验1制作一个简单的jsp页面、实验2制作一个包含文件的jsp页面 、实验3注册页面信息的提交与显示、实验4读取用户信息、实验5用户登录及登录信息session封装、实验6制作第一个servlet、实验7文件上传模块制作、实验8...

    JSP随机验证图片如何制作

    为了添加干扰元素,我们绘制了一些随机的正弦波形线条,这样可以防止简单的图像识别算法轻易地识别验证码。 接下来,我们使用Graphics2D对象的`drawString` 方法将随机字符串绘制到图像上。字符串的位置和倾斜角度...

    商务网站建设教学教案—会员登录小模块制作.pdf

    本教学教案主要关注如何使用ASP(Active Server Pages)来构建一个简单的会员登录小模块,包括登录界面设计、后台数据库验证以及验证码技术。 首先,了解实验的目标和内容: 1. 掌握ASP登录页面的处理技术:这包括...

    简单动态网页登录设计

    【标题】"简单动态网页登录设计"涉及到的知识点主要集中在Web开发领域,特别是Java服务器端技术,包括JSP(JavaServer Pages)、Servlet和JDBC(Java Database Connectivity)。这些技术是构建动态网页应用的基础,...

    一些java项目练习源码,分享给大家,希望可以和大家一起进步

    java项目练习源码,分享给大家,希望可以和大家一起进步! Java项目实例 swagger2-boot-starter SpringBoot-Shiro 秒杀业务 Woss2.0 电信采集系统 ...checkcode Java 制作验证码 IMOOCSpider 简易网络爬虫

    项目介绍 本项目是个人的一些java项目练习源码,分享给大家,希望可以和大家一起进步!

    项目介绍 本项目是个人的一些java项目练习源码,分享给大家,希望可以和大家一起进步! Java项目实例 swagger2-boot-starter SpringBoot-Shiro ...checkcode Java 制作验证码 IMOOCSpider 简易网络爬虫

Global site tag (gtag.js) - Google Analytics