利用JSP在Web页面中显示随机数字验证码图片

转载 2005年05月01日 00:50:00
注 : 转自http://blog.csdn.net/ezerg/archive/2004/09/30/121469.aspx 代码如下: <%@ 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(255,255,255)); 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()); %> 如果有什么问题,可与我联系: webmaster@bcxy.com

相关文章推荐

Jsp页面生成随机验证码图片

image.jsp生成随机验证码图片的Jsp页面   ColorgetRandColor(int fc,int bc) { Randomrandom = new Ra...

JSP彩色验证码,生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变,服务器端刷新

生成有4个随机数字和杂乱背景的图片,数字和背景颜色会改变,服务器端刷新(用history.go(-1)也会变)原型参考ALIBABA http://china.alibaba.com/member/s...

javaweb之response随机生成图片验证码加载到web页面中(本实例使用了禁止浏览器缓存头),并且单击使用javascript换图片

package test.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; impor...

在JSP页面中产生随机验证码

  • 2009年02月16日 14:32
  • 26KB
  • 下载

JSP页面验证码生成图片

  • 2010年08月20日 17:37
  • 4KB
  • 下载

jsp页面添加随机验证码

1.用servlet类创建的一个随机验证码 /**  * 生成随机图形验证码  */ package com.qrsx.oa.util; import java.awt.Color; ...

Java 使用JSP页面生成随机验证码

ra.jsp页面

jsp页面获取java生成的图片验证码

实现自动生成图片验证码,点击验证码能够更换验证码

JSP页面动态图片验证码

转自:http://hogwartsrow.iteye.com/blog/1558721  很多新手对图片验证码不是很了解,最近自己也与做这个功能,于是决定把自己的用个代码给大家分享一下,接下来...

netctoss02_登陆页面图片验证码【Servlet+JSP版】

netctoss02_登陆页面图片验证码【Servlet+JSP版】 1.设计分析 2.代码实现 ImageUtil.java package com.netctoss...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用JSP在Web页面中显示随机数字验证码图片
举报原因:
原因补充:

(最多只允许输入30个字)