文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网站建设源码精华JSP彩色验证码
精品推荐
特别推荐
·网页制作中九种用途特效按钮的代码
·对联式广告代码效果大全
·WEB编程开发常用的代码
·方法汇总 禁止查看网页源代码全攻略
·禁止查看网页源代码方法总结
·总结网页代码常用小技巧,网页制作必学
·做网页的一些技巧
·教你制作GBK与Unicode的对照表
·常用网页播放器代码
·42个网页设计小技巧
·网站设计和网站建设的65条原则
·网页背景设计技巧
·网站实时监控系统的设计与实现
·用ASP制作饼图、柱状图等
·太有创意了!看看这些让人称绝的404错误页面
·表格艺术经典回顾
·具有亲和力的表格
·滚动条特效代码收集
·whois信息查询大全
·让广告代码不再影响你的网页加载速度
热点TOP10
·编写简单的中文分词程序
·网页播放器代码全集及详细说明[精]
·网页中的多媒体播放控制
·网页在线播放器代码大全
·三级菜单(通用版)
·JSP彩色验证码
·适合本blog的一个精美javascript日历
·好用的轮播广告JavaScript源码
·浮动对联广告---之左侧代码
·几个日期特效的代码
·总结网页代码常用小技巧,网页制作必学
·太有创意了!看看这些让人称绝的404错误页面
·让广告代码不再影响你的网页加载速度
·网站实时监控系统的设计与实现
·Membership角色与权限管理
·表格艺术经典回顾
·打开网页自动设为首页代码
·utf-8转换gb2312编码,解决统计google搜索来源关键字乱
·禁止查看网页源代码方法总结
·对联式广告代码效果大全

JSP彩色验证码

日期:2008年5月4日 作者: 查看:[大字体 中字体 小字体]


生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变,服务器端刷新(用history.go(-1)也会变)

原型参考ALIBABA http://china.alibaba.com/member/showimage

产生验证码图片的文件image.jsp

<%@ page contentType="image/jpeg" import="Java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>
<%!
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=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);
}

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

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

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

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


使用验证码图片的文件a.jsp
<%@ page contentType="text/Html;charset=gb2312" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>认证码输入页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</head>
<body>
<form method=post action="check.jsp">
<table>
<tr>
<td align=left>系统产生的认证码:</td>
<td><img border=0 src="image.jsp"></td>
</tr>
<tr>
<td align=left>输入上面的认证码:</td>
<td><input type=text name=rand maxlength=4 value=""></td>
</tr>
<tr>
<td colspan=2 align=center><input type=submit value="提交检测"></td>
</tr>
</form>
</body>
</html>


验证的页面check.jsp

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>认证码验证页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
</head>

<body>
<%
String rand = (String)session.getAttribute("rand");
String input = request.getParameter("rand");
%>
系统产生的认证码为: <%= rand %><br>
您输入的认证码为: <%= input %><br>
<br>
<%
if (rand.equals(input)) {
%>
<font color=green>输入相同,认证成功!</font>
<%
} else {
%>
<font color=red>输入不同,认证失败!</font>
<%
}
%>
</body>
</html>

(出处:清风网络学院






上一篇:处理Cookie

下一篇:Google招人了

JSP彩色验证码 相关文章:
·用正则表达式函数验证身份证号码合法性
·吉林换妻俱乐部 须进行视频验证(图)
·XP SP3 RC1官方下载地址(附验证码)
·asp.net如何生成图片验证码(简单)
·制作彩色的QQ空间导航栏彰显个性
·用javascript的正则表达式来验证Email地址是否格式正确
·教你轻松破解验证码 - 解读百度贴吧杀手v2.0源代码
·吉林出现换妻俱乐部用视频验证(图)
·ASP与验证码
·输入验证+重启验证的软件破解 算法分析
JSP彩色验证码 相关软件:
·微软正版验证工具(Windows XP/2003 序列号更换工具)
·《跟我学摄影丛书》 彩色摄影
·彩色翻页书:森林唱游
·超炫彩色系列图标
·彩色儿童绘本《炮膛里的鸭子》
·金山毒霸2006 7月份更新 加强 全自动安装版 免验证版 0703
·彩色印章ICON图标
·推荐-彩色文字自动生成器
·600个漂亮彩色徽标
·Windows XP正版验证补丁 V1.0

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot