java jsp验证码_JSP验证码简单生成方法
本文实例讲述了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 rand = request.getParameter("rand");
//rand = rand.substring(0,rand.indexOf("."));
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());
out.clear();
out = pageContext.pushBody();
%>
这就是微学网-程序员之家为你提供的"JSP验证码简单生成方法"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/4865.html
java jsp验证码_JSP验证码简单生成方法相关推荐
- linux控制台单人五子棋简书,Java控制台版五子棋的简单实现方法
这篇文章主要给大家介绍了关于Java控制台版五子棋的简单实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 设计一个10*1 ...
- bump map(凹凸贴图)的一个简单生成方法
用于渲染物体表面,增加真实感的bump map(凹凸贴图)的一个简单生成方法. 1. 在 Perlin Noise Map Generator - OpenProcessing 生成一个perlin ...
- 浙大python读者验证码_Python实现简单生成验证码功能【基于random模块】
本文实例讲述了Python实现简单生成验证码功能.分享给大家供大家参考,具体如下: 验证码一般用来验证登陆.交易等行为,减少对端为机器操作的概率,python中可以使用random模块,char()内 ...
- java中xsl用法_XSL-FO 简单使用方法(java xsl-fo xml)
XSL-FO 简单使用方法(java & xsl-fo & xml) package testfop; import java.io.File; import java.io.File ...
- Java猜字母游戏——实现字母生成方法
问题 实现猜字母游戏中的字母生成方法,即,随机生成5个不同的字母作为猜测的结果. 方案 实现generate方法,首先声明一个字符类型的数组,用于存储26个大写字母,然后声明一个boolean类型的数 ...
- java jsp 输出_JSP Out.print()方法:输出数据到JSP页面
print 方法用于输出数据到 JSP 页面. 语法1 print(boolean b) 该方法用于向 JSP 页面输出 Boolean 类型的布尔值.输出的内容将显示在 JSP 页面上. 参数说明: ...
- java jsp 传值_jsp页面间的传值方法
JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数.下面介绍一下实现的方法. (1)直接在URL请求后添加 如:< a href="thexuan.jsp? ...
- 批处理 java环境_java环境配置简单批处理方法一键OK
Java编程首要工作就是安装JDK(Java Development Kit).一通NEXT点完安装包后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变量,要理解这点,首先要明白环境变量的作 ...
- java jsp常见问题_jsp和servlet常见问题总结
四.jsp/servlet部分 1.Tomcat的优化经验 去掉对web.xml的监视,把jsp提前编辑成Servlet. 有富余物理内存的情况,加大tomcat使用的jvm的内存 2.Tomcat根 ...
最新文章
- PDF怎么转换成Word,PDF转Word的方法
- JavaScript定时调用函数(SetInterval与setTimeout)
- Python语言学习:python编程之pip命令集合、python调式、头部代码、代码运行等常见概念详细攻略(解决问题为导向)
- docker 无法正常启动或版本信息会报错 Cannot connect to the Docker daemon at
- Mysql学习(一)之简单介绍
- [CSS]详解display:inline | block |inline-block的区别
- leetcode内存消耗
- ajax上送src,使用script的src实现跨域和类似ajax效果
- python删除文件_python删除指定类型(或非指定)的文件实例详解
- HDU.2111 Saving HDU(贪心)
- 如何在Vue项目中使用websql数据库
- 利用Tushare下载多个股票数据并进行数据处理以及数据合并
- 波利亚-怎样解题的思考
- 使用ArchR分析单细胞ATAC-seq数据(第一章)
- 学计算机干眼,​长期使用电脑 小心干眼症
- python 导入包的路径顺序
- 特斯拉舍命狂奔:史上最强自动驾驶芯片发布背后,一场蓄意已久的进攻
- 高斯消去法解线性方程组C++实现
- Java对象大小内幕浅析
- Nginx学习(1)—— 下载和安装