本文实例讲述了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验证码简单生成方法相关推荐

  1. linux控制台单人五子棋简书,Java控制台版五子棋的简单实现方法

    这篇文章主要给大家介绍了关于Java控制台版五子棋的简单实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 设计一个10*1 ...

  2. bump map(凹凸贴图)的一个简单生成方法

    用于渲染物体表面,增加真实感的bump map(凹凸贴图)的一个简单生成方法. 1. 在  Perlin Noise Map Generator - OpenProcessing 生成一个perlin ...

  3. 浙大python读者验证码_Python实现简单生成验证码功能【基于random模块】

    本文实例讲述了Python实现简单生成验证码功能.分享给大家供大家参考,具体如下: 验证码一般用来验证登陆.交易等行为,减少对端为机器操作的概率,python中可以使用random模块,char()内 ...

  4. java中xsl用法_XSL-FO 简单使用方法(java xsl-fo xml)

    XSL-FO 简单使用方法(java & xsl-fo & xml) package testfop; import java.io.File; import java.io.File ...

  5. Java猜字母游戏——实现字母生成方法

    问题 实现猜字母游戏中的字母生成方法,即,随机生成5个不同的字母作为猜测的结果. 方案 实现generate方法,首先声明一个字符类型的数组,用于存储26个大写字母,然后声明一个boolean类型的数 ...

  6. java jsp 输出_JSP Out.print()方法:输出数据到JSP页面

    print 方法用于输出数据到 JSP 页面. 语法1 print(boolean b) 该方法用于向 JSP 页面输出 Boolean 类型的布尔值.输出的内容将显示在 JSP 页面上. 参数说明: ...

  7. java jsp 传值_jsp页面间的传值方法

    JSP页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数.下面介绍一下实现的方法. (1)直接在URL请求后添加 如:< a href="thexuan.jsp? ...

  8. 批处理 java环境_java环境配置简单批处理方法一键OK

    Java编程首要工作就是安装JDK(Java Development Kit).一通NEXT点完安装包后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变量,要理解这点,首先要明白环境变量的作 ...

  9. java jsp常见问题_jsp和servlet常见问题总结

    四.jsp/servlet部分 1.Tomcat的优化经验 去掉对web.xml的监视,把jsp提前编辑成Servlet. 有富余物理内存的情况,加大tomcat使用的jvm的内存 2.Tomcat根 ...

最新文章

  1. PDF怎么转换成Word,PDF转Word的方法
  2. JavaScript定时调用函数(SetInterval与setTimeout)
  3. Python语言学习:python编程之pip命令集合、python调式、头部代码、代码运行等常见概念详细攻略(解决问题为导向)
  4. docker 无法正常启动或版本信息会报错 Cannot connect to the Docker daemon at
  5. Mysql学习(一)之简单介绍
  6. [CSS]详解display:inline | block |inline-block的区别
  7. leetcode内存消耗
  8. ajax上送src,使用script的src实现跨域和类似ajax效果
  9. python删除文件_python删除指定类型(或非指定)的文件实例详解
  10. HDU.2111 Saving HDU(贪心)
  11. 如何在Vue项目中使用websql数据库
  12. 利用Tushare下载多个股票数据并进行数据处理以及数据合并
  13. 波利亚-怎样解题的思考
  14. 使用ArchR分析单细胞ATAC-seq数据(第一章)
  15. 学计算机干眼,​长期使用电脑 小心干眼症
  16. python 导入包的路径顺序
  17. 特斯拉舍命狂奔:史上最强自动驾驶芯片发布背后,一场蓄意已久的进攻
  18. 高斯消去法解线性方程组C++实现
  19. Java对象大小内幕浅析
  20. Nginx学习(1)—— 下载和安装

热门文章

  1. AX-Explor系列电子物证现场勘查箱
  2. 苹果vs谷歌:与微软的战争教会了苹果什么
  3. 【JavaScript】——强类型和弱类型
  4. Latex NIPS模版导入参考文献
  5. 艾为2022数字芯片设计笔试题
  6. 绩效改进——BEM模型
  7. web APIs 01
  8. 使用camera2构建相机应用
  9. A Survey of Robust LiDAR-based 3D Object Detection Methods for Autonomous Driving(激光雷达3D目标检测方法)论文笔记
  10. (前端版)RuoYi(若依开源框架)研究第一天