JSP实例-彩色验证码
image.java用于产生彩色验证码,其代码如下:
package test;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;
import javax.imageio.ImageIO;public class Image {//验证码图片中可以出现的字符集private char mapTable[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9'};//生成彩色的验证码图片。width表示图片宽度;height表示图片高度。public String getCertPic(int width, int height, OutputStream os){if(width<=0) width=60;if(height<=0) height=20;BufferedImage image=new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);//获取图形上下文Graphics g=image.getGraphics();//设置背景g.setColor(new Color(0XDCDCDC));g.fillRect(0,0,width,height);//画边框g.setColor(Color.black);g.drawRect(0,0,width-1,height-1);//随机产生认证码String strEnsure="";//产生4位认证码for(int i=0;i<4;i++){strEnsure+=mapTable[(int)(mapTable.length*Math.random())];}//将认证码显示到图像中g.setColor(Color.black);g.setFont(new Font("Atlantic Inine",Font.PLAIN,18));String str=strEnsure.substring(0,1);g.drawString(str,8,17);str=strEnsure.substring(1,2);g.drawString(str,20,15);str=strEnsure.substring(2,3);g.drawString(str, 35, 18);str=strEnsure.substring(3,4);g.drawString(str,45,15);//随机产生10个干扰点Random rand=new Random();for(int i=0;i<10;i++){int x=rand.nextInt(width);int y=rand.nextInt(height);g.drawOval(x, y, 1, 1);}//释放图形上下文g.dispose();try{//输出图像到页面ImageIO.write(image, "JPEG", os);}catch(IOException e){return "";}return strEnsure; }
}
index.jsp展示登录主界面,其代码如下:
<html>
<body>
<form action="check.jsp" method="post">
用户名:<input type="text" name="username"/> <br>
密 码<input type="password" name="password"> <br>
验证码:<input type="text" name="certCode"/>
<%-- 调用image.jsp显示验证码图片--%>
<img src="data:image.jsp"> <br>
<input type="submit" value="确定"/>
</form>
</body>
</html>
image.jsp负责调用JavaBean显示验证码图片,以及将得到的string形式验证码放入session中。其代码如下:
<jsp:useBean id="image" scope="session" class="test.Image"/>
<%
//得到生成的验证码,并将验证码以图片方式输出
String str=image.getCertPic(0,0,response.getOutputStream());
//将认证码存入session
session.setAttribute("certCode",str);%>
check,jsp负责比对用户输入的验证码和图片显示的验证码是否一致,其代码如下:
<%
//得到用户输入的验证码
String certCode=request.getParameter("certCode");
//比对用户输入的验证码和生成的验证码是否相同
if(certCode.equals((String)session.getAttribute("certCode")))out.print("验证码输入正确");elseout.print("验证码输入错误");%>
运行index.jsp进入登陆界面,截图如下:
1.若输入正确的验证码,截图如下:
点击”确定“后跳转到check.jsp页面,显示输入验证码正确:
2.若输入错误的验证码,截图如下:
点击”确定“后跳转到check.jsp页面,显示输入验证码错误:
JSP实例-彩色验证码相关推荐
- 用开源组件jcaptcha做jsp彩色验证码
用开源组件jcaptcha做jsp彩色验证码 key words: jsp验证码 jcaptcha 原文参考 这里 安装 Add jcaptcha-all.jar (provided in bin-d ...
- 英文.数字和中文混合的彩色验证码【JSP】
一.编写生成英文,数字和中文混合的彩色验证码的Servlet实现类 (1)创建名称为PictureCheckCode.java的Servlet. public class PictureCheckCo ...
- 英文,数字和中文混合的彩色验证码实现
功能描述:英文,数字和中文混合的彩色验证码是一种比较安全的验证码,虽然这样的验证码会给用户输入带来不便,但对于保障用户账号的安全还是值得的.本实例介绍实现英文,数字和中文混合验证码的彩色验证码的方法, ...
- 用Java语言编写的随机彩色验证码
在制作网页过程中,免不了在登录注册页面增加一个验证码来延长数据提交时间,以免大量用户过快连接数据库读取,写入数据导致服务器崩溃.以下是用Java语言编写的彩色验证码,可用于jsp.html文件. 源代 ...
- JSP+servlet生成验证码并验证
生成验证码的基本过程是: <%@ page language="java" import="java.util.*" pageEncoding=" ...
- 自定义标签的使用jsp实例_JSP自定义标签示例教程
自定义标签的使用jsp实例 Today we will look into JSP custom tags. Earlier we learned about JSP Action Elements, ...
- 网络视频直播系统,制作彩色验证码
网络视频直播系统,实现制作彩色验证码相关代码 from random import choice, randint, randrange import string from PIL import I ...
- java 登录验证码_java jsp实现登录验证码
java jsp实现登录验证码 工作中使用的java jsp实现的登录验证码.代码记录如下: 1.登录主页面(login.jsp) pageEncoding="UTF-8"%> ...
- JSP页面中验证码的调用方法
步骤: 1.首先是要生成验证码 2.对验证码类进行调用:主要 实现的是 将验证码图片 输出到response.getOutputStream()这个输出流中 调用时,可以在页面调用,也可以在serv ...
最新文章
- 直播 | 旷视研究院最新理论成果:批归一化和权重衰减的球面优化机制
- 为VMware虚拟机中的Linux系统设置固定IP的方法
- 在Vaadin和JSF之间选择
- PHP函数库03:PHP生成曲线图函数
- J 位操作练习 (Java)
- Javaweb中EL 表达式和JSTL 的使用
- 苹果系统连接服务器打印机,Mac系统怎么连接打印机
- 开心农场简易外挂的实现
- 爬虫同步验证码登录武大教务系统
- Python 爬取豆瓣电影Top250
- LeetCode.No5——最长回文子串
- 2019 | 开启新的堕落生活
- 3975: 人工智能(障)?
- 机器学习所需要的高数知识
- OPPOa5m手机Android,OPPO A5怎么样?OPPO A5手机体验评测
- 【H5】H5与APP对接跳转
- Coding and Paper Letter(六十)
- 畅想未来计算机英语作文带翻译,my future英语作文带翻译
- 亚信科技java面试题及答案.doc
- Unknown custom element: <a-carousel> - did you register the component correctly?For recursive.....
热门文章
- python程序代码_python基础二
- php连接mysql开发环境_PHP开发环境搭建及常用的数据库操作
- 接口-----java
- java连接mysql通用方法_jdbc操作数据库通用方法
- Java this关键字详解
- cmd中Redis的启动
- iOS开发cocoaPod的使用
- 三星s2 硬刷Android 8,三星T710(GALAXY Tab S2 8.0)一键救砖教程,轻松刷回官方系统...
- mysql 多项式_mysql主从复制原理及实现
- 应用在核电站DCS系统的代码自动生成工具ModelCoder