用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和Servlet创建一个简单的验证码登录系统,涵盖了服务器端动态页面生成、会话管理、表单提交验证等多个核心知识点。通过深入理解这些概念,开发者可以构建更复杂、...
本教程将详细讲解如何在Java JSP环境下制作一个简单的登录验证码。 首先,我们需要理解验证码的基本原理。验证码通常由随机生成的一串字符(包括字母、数字)组成,并通过图像展示出来,用户需要在输入框中正确输入...
在本文中,我们将深入探讨如何使用JSP技术来制作验证码,包括它的原理、步骤和具体的代码实现。验证码,全称为“全自动区分计算机和人类的图灵测试”(CAPTCHA),是一种用于验证用户身份的安全机制,它能有效防止...
### 使用Ajax制作带图形验证码的登录页面 #### 一、前言 在现代Web开发中,安全性至关重要。其中,图形验证码作为一种防止自动化攻击的有效手段,被广泛应用于登录系统中。本文将详细介绍如何利用Ajax技术结合...
本教程将深入讲解如何在Java环境下,结合JSP(Java Server Pages)来创建一个简单的验证码生成器。 验证码的核心在于生成随机且不可预测的字符串,通常包含字母和数字的组合。在提供的文件`RandomStrg.java`中,...
34. 制作验证码图片? 35. 图片缩小放大功能 36. 点击输入框弹出日期选择? 37. 在图片上传前查看自己要上传的图片? 38. 在图片排列的页面上选中一个图片,然后把它删掉? 39. 显示某目录下的所有文件 40. 把复选框中...
【基于jsp的简单论坛制作】是一个典型的Web开发项目,它主要使用Java Server Pages(JSP)技术来构建一个在线讨论平台。在这个项目中,我们将会深入理解如何利用JSP进行动态网页开发,以及如何实现基本的用户交互...
制作验证码图片? 35. 图片缩小放大功能 36. 点击输入框弹出日期选择? 37. 在图片上传前查看自己要上传的图片? 38. 在图片排列的页面上选中一个图片,然后把它删掉? 39. 显示某目录下的所有文件 ...
本教程主要探讨如何使用开源工具Kaptcha来制作网页验证码。 首先,我们需要一个开发环境,这里使用的是Eclipse IDE。创建一个新的Web项目,这是构建任何Web应用程序的基础。接着,我们需要在项目的WebContent目录下...
这种技术在很多场景下都非常有用,比如验证码生成、图表制作、个性化头像生成等。下面我们将深入探讨JSP如何实现动态图像的生成。 1. **JSP基础** JSP(JavaServer Pages)是Java平台上的一个标准,用于创建动态...
Java 制作验证码并进行验证实例详解 Java 制作验证码并进行验证实例详解是指在 Web 开发中,为了防止频繁的注册或登录行为,需要在注册、登录的页面上添加验证码,以验证用户的身份。下面是一个使用 Java 制作...
首先,课程将回顾Java的基础知识,包括生成随机数、处理日期和时间、字符串操作(如charAt和indexOf)、Java Applet、集合框架以及URL、HTML表单和简单的验证码图片制作。此外,还会对JavaScript进行复习,学习事件...
它建立在Java编程基础、网页设计与制作以及数据库原理与应用(如SQL Server)之上,旨在提升学生运用JSP技术进行Web应用程序开发的能力,并培养他们的编程规范和职业素养。 课程目标主要分为知识目标、专业能力目标...
实验1制作一个简单的jsp页面、实验2制作一个包含文件的jsp页面 、实验3注册页面信息的提交与显示、实验4读取用户信息、实验5用户登录及登录信息session封装、实验6制作第一个servlet、实验7文件上传模块制作、实验8...
为了添加干扰元素,我们绘制了一些随机的正弦波形线条,这样可以防止简单的图像识别算法轻易地识别验证码。 接下来,我们使用Graphics2D对象的`drawString` 方法将随机字符串绘制到图像上。字符串的位置和倾斜角度...
本教学教案主要关注如何使用ASP(Active Server Pages)来构建一个简单的会员登录小模块,包括登录界面设计、后台数据库验证以及验证码技术。 首先,了解实验的目标和内容: 1. 掌握ASP登录页面的处理技术:这包括...
【标题】"简单动态网页登录设计"涉及到的知识点主要集中在Web开发领域,特别是Java服务器端技术,包括JSP(JavaServer Pages)、Servlet和JDBC(Java Database Connectivity)。这些技术是构建动态网页应用的基础,...
java项目练习源码,分享给大家,希望可以和大家一起进步! Java项目实例 swagger2-boot-starter SpringBoot-Shiro 秒杀业务 Woss2.0 电信采集系统 ...checkcode Java 制作验证码 IMOOCSpider 简易网络爬虫
项目介绍 本项目是个人的一些java项目练习源码,分享给大家,希望可以和大家一起进步! Java项目实例 swagger2-boot-starter SpringBoot-Shiro ...checkcode Java 制作验证码 IMOOCSpider 简易网络爬虫