jsp 图形验证码 imageutils_java_jsp:java:生成图形验证码(纯数字)
以下是jsp页面代码:
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);
}
// System.out.println("freedesign:"+sRand);
// 将认证码存入SESSION
session.setAttribute("freedesign",sRand);
// 图象生效
g.dispose();
// 输出图象到页面
ImageIO.write(image, "JPEG", response.getOutputStream());
%>
以下是js调用方法:
function getYanZhengMa(){
//freedesign_image.jsp为以上jsp文件,参数id此处可不传。
//yanzhengma_img为验证码img标签的id
var src = "freedesign_image.jsp?id="+new Date().getTime();
$("#yanzhengma_img").attr("src",src);
}
jsp 图形验证码 imageutils_java_jsp:java:生成图形验证码(纯数字)相关推荐
- Java 生成6位纯数字验证码 发短信验证码处使用
@Testpublic void randomCodeTest() {Random random = new Random();for (int i = 0; i < 10000; i++) { ...
- java 验证码 字母_使用java生成字母验证码
本文实例为大家分享了java生成字母验证码的具体代码,供大家参考,具体内容如下 import java.awt.BasicStroke; import java.awt.Color; import j ...
- java生成随机6个数字和字母_java_Java生成含字母和数字的6位随机字符串,本文实例为大家分享了Java生成 - phpStudy...
Java生成含字母和数字的6位随机字符串 本文实例为大家分享了Java生成6位随机字符串的实现代码,具体内容如下 package com.amos.tools; import java.util.Ar ...
- 使用Java生成图形验证码(后端)
生成图形验证码工具类: VerificationCodeUtil package com.merce.woven.utils;import java.awt.*; import java.awt.im ...
- Java生成图形验证码,并传输至前端
前段时间想要做一个登录的验证码功能,在网上查找了许多资料后实现了,在此记录并巩固一下,其实原理很简单,就是让Java来充当"画笔的角色"来绘制图片,并将图片通过二进制流的方式传输至 ...
- java 验证码 算术_java生成图形验证码(算数运算图形验证码 + 随机字符图形验证码)...
平凡也就两个字: 懒和惰; 成功也就两个字: 苦和勤; 优秀也就两个字: 你和我. 跟着我从0学习JAVA.spring全家桶和linux运维等知识,带你从懵懂少年走向人生巅峰,迎娶白富美! 关注微信 ...
- java生成图形验证码
随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) 首先,需要生成验证码字符串,方式很多,下面提供一种,根据指定源的方式来生成验证码 /*** 使用系统默认字符源 ...
- java 生成校验验证码_java生成验证码并进行验证
一实现思路使用BufferedImage用于在内存中存储生成的验证码图片使用Graphics来进行验证码图片的绘制,并将绘制在图片上的验证码存放到session中用于后续验证 最后通过ImageIO将 ...
- java 生成校验验证码_java 验证码生成与校验
java绘图相关类 验证码工具类 package dt2008.util; import javax.imageio.ImageIO; import javax.servlet.http.HttpSe ...
最新文章
- 数学建模学习笔记——分类模型
- JVM内存占用情况深入分析,分分钟解开你的疑惑
- VTK:AnimateActors用法实战
- 云原生那些顶级开源项目,你都用过哪些?
- java ee maven_针对新手的Java EE7和Maven项目–第7部分
- ABP源码分析三十六:ABP.Web.Api
- 商业银行如何进行分布式数据库选型思考
- 马斯克加入推特董事会引发员工担忧:可能改变审查规则
- 胆道取石内镜篮行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 【计算机视觉-从入门到精通系列】 第三章 立体匹配
- 数据库系统概论第五版(第 1 章 绪论)习题答案
- 蚂蜂窝VS穷游最世界-自由行类App分析
- 全球与中国电动车PTC辅助加热器市场深度研究分析报告
- matlab程序特殊符号,MATLAB——matlab特殊符号表【转载】
- 浙江大学黄杨思博计算机学院,竺可桢学院2010-2011学年荣誉称号发文名单
- word中方框中打钩
- ios13 微信提示音插件_ios13微信提示音如何进行更改
- Vulkan简介(1)
- 服务器正文15:Assert的使用技巧
- 低代码助力生产管理:车间管理系统
热门文章
- 201409-3-字符串匹配
- linux作业1-第二章
- 学会asp后再学php,九天学会ASP 之 第二天
- 数字后端基本概念介绍<IO Buffer>
- Lua基础之coroutine(协程)
- 海南中专学计算机的学校有哪些,​海南最好的中专学校有哪些 十大中专学校排名...
- html制作我和我的家乡,《我和我的家乡》怎么参与投资?投资流程是什么?
- 利用python对图像进行傅里叶变换_Python 实现图像快速傅里叶变换和离散余弦变换...
- 什么是php 的精华,PHP精华
- 树莓派+Kubernetes