- 浏览: 142635 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
flyingcatjj:
很适合我这种刚接触的
myeclipse xfire 开发webservice实例 -
tangzlboy:
非常好,非常详细,非常中用。
linux入门 -
yzz9i:
楼主说的很是详细。
myeclipse xfire 开发webservice实例 -
zqx888191:
很再理阿!
老程序员的教诲 -
simplecat123:
...
SQLite数据读取
java实现图片验证码 ImageGenerator 生成一张包含四位随机数的图片 Java代码 package com.my.page; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.OutputStream; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 这个class主要实现随机生成一个4位数的验证码,并写入session, */ public class ImageGenerator extends HttpServlet { private static 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); } private static String charsLong = "23456789abcdefghjklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ"; private static String charsShort = "0123456789"; private static String chars = charsLong; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) { try { int charsLength = chars.length(); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); int width = 75, 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.ITALIC, height)); g.setColor(getRandColor(160, 200)); for (int i = 0; i < 35; 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); } StringBuilder sRand = new StringBuilder(); String[] fontNames = { "Times New Roman", "Arial", "Book antiqua", "" }; for (int i = 0; i < 4; i++) { g.setFont(new Font(fontNames[random.nextInt(3)], Font.ITALIC, height)); char rand = chars.charAt(random.nextInt(charsLength)); sRand.append(rand); g.setColor(new Color(20 + random.nextInt(110), 20 + random .nextInt(110), 20 + random.nextInt(110))); g.drawString(String.valueOf(rand), 16 * i + random.nextInt(6) + 3, height - random.nextInt(4)); } g.setColor(getRandColor(160, 200)); for (int i = 0; i < 19; i++) { int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(width); int yl = random.nextInt(width); g.drawLine(x, y, x + xl, y + yl); } request.getSession().setAttribute("Login_Image_Code", sRand.toString()); g.dispose(); try { Thread.sleep(100); } catch (Exception ex) { } OutputStream os = response.getOutputStream(); ImageIO.write(image, "JPEG", os); os.flush(); os.close(); } catch (Exception ex) { } } } package com.my.page; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.OutputStream; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 这个class主要实现随机生成一个4位数的验证码,并写入session, */ public class ImageGenerator extends HttpServlet { private static 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); } private static String charsLong = "23456789abcdefghjklmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVWXYZ"; private static String charsShort = "0123456789"; private static String chars = charsLong; @Override public void doGet(HttpServletRequest request, HttpServletResponse response) { try { int charsLength = chars.length(); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); int width = 75, 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.ITALIC, height)); g.setColor(getRandColor(160, 200)); for (int i = 0; i < 35; 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); } StringBuilder sRand = new StringBuilder(); String[] fontNames = { "Times New Roman", "Arial", "Book antiqua", "" }; for (int i = 0; i < 4; i++) { g.setFont(new Font(fontNames[random.nextInt(3)], Font.ITALIC, height)); char rand = chars.charAt(random.nextInt(charsLength)); sRand.append(rand); g.setColor(new Color(20 + random.nextInt(110), 20 + random .nextInt(110), 20 + random.nextInt(110))); g.drawString(String.valueOf(rand), 16 * i + random.nextInt(6) + 3, height - random.nextInt(4)); } g.setColor(getRandColor(160, 200)); for (int i = 0; i < 19; i++) { int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(width); int yl = random.nextInt(width); g.drawLine(x, y, x + xl, y + yl); } request.getSession().setAttribute("Login_Image_Code", sRand.toString()); g.dispose(); try { Thread.sleep(100); } catch (Exception ex) { } OutputStream os = response.getOutputStream(); ImageIO.write(image, "JPEG", os); os.flush(); os.close(); } catch (Exception ex) { } } } 在web.xml加入一下内容 Java代码 <servlet> <servlet-name>imageGenerator</servlet-name> <servlet-class>com.my.page.ImageGenerator</servlet-class> </servlet> <servlet-mapping> <servlet-name>imageGenerator</servlet-name> <url-pattern>/image.jpg</url-pattern> </servlet-mapping> <servlet> <servlet-name>imageGenerator</servlet-name> <servlet-class>com.my.page.ImageGenerator</servlet-class> </servlet> <servlet-mapping> <servlet-name>imageGenerator</servlet-name> <url-pattern>/image.jpg</url-pattern> </servlet-mapping> 运用 Java代码 <input type="text" class="txt" wicket:id="validate"/><br/> <img src="image.jpg" onclick= "this.src= 'image.jpg? '+(new Date()) "/> 其中onclick事件作用是:单击该验证图片,进行刷新,实现看不清换一张的效果
发表评论
-
jdk 1.4和1.5的区别
2011-04-30 02:07 805从语法层面上讲。 1,1.5增加并发包(java.util ... -
tomcat5.5连接池的配置
2011-04-28 01:35 612将数据库驱动程序的JAR文件放在Tomcat的 common/ ... -
GET与POST区别
2011-04-28 01:26 606GET与POST区别 HTTP定义了与服务器交互的不同方 ... -
Java 面试中关于截取字符串例子
2011-04-28 01:23 1135面试中,关于字符串问 ... -
properties 文件中获取数据库连接
2011-04-28 01:12 10081首先建立配置文件 必须跟连接的类放在一块 便于读取 DB.p ... -
cook的使用(两星期自动登录)
2011-04-28 00:59 1022写道 导读: 现在很多网站都有为用户保存登陆信息(即保存 ... -
java.lang.OutOfMemoryError: Java heap space
2011-04-26 12:51 761在进行大数据量操作的时候,经常会出现内存溢出的错误,如 ... -
字符转换
2011-04-26 12:49 646写道 int -> String int i=1234 ... -
Vector用法小结
2011-04-26 12:39 675/** * 演示Vector的使用。包括Vector的创建 ... -
JDK1.5中for循环
2011-04-26 12:37 772写道 JDK1.5中增加了增强的for循环,也就是for的那 ... -
java的疑惑帖子原文
2011-03-24 13:08 624写道 (1) http://jiangzhengjun.it ... -
谈谈重构
2011-03-24 13:04 638最近阅读Martin Flower的《 ...
相关推荐
实现无刷新图片改变if (String.Compare(Request.Cookies["yzmcode"].Value,txtcode.Text.Trim(), true) != 0) try { //生成随机生成器 Random random = new Random(); //清空图片背景色 g.Clear(Color.White);...
java 产生随机验证码,servlet实现 点击图片可自动刷新验证码。 支持字母(可分大小写),数字
ASP.NET MVC实现网站图片验证码功能,有源代码,与案例文档
1.将你想显示成背景的图片放入指定文件夹。 2.里面有实例,直接运行里面的实例你就可以看见你放的图片显示成了验证码的背景图片。 3.刷新一次背景图片也更着...4.每次变换的显示的图片都是随机选择并生成图片验证码。
简单的验证码图片点击后实现图片刷新,并且进行输入框失去焦点后验证输入是否正确。
Java编写图片验证码(手动下载文件+手绘验证码),实现了在登录页面点击图片刷新二维码,暂未实现验证码校验功能,稍后上传
使用java实现验证码无刷新状态,在使用的是jsp + servlet技术,用户在jsp页面上点击图片,然后后台自动刷新。
Ajax无刷新中文验证码 在这个简单的项目里面包括的文件有 1.ChineseCode.cs:生成中文的一个类文件 2.PublicCla.cs:保存服务器端的中文字 3.image文件夹是验证码的背景 4.Default.aspx为验证码的主页 5.Img.aspx:将...
主要介绍了基于vue实现图片验证码倒计时60s功能,本文通过截图实例代码的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
java实现验证码完整版,一个java类,两个jsp,其中一个为登录jsp,另一个jsp为生成图片的jsp 验证码的输入是否正确可用如下语句验证: String certCode=request.getParameter("certCode"); if(certCode.equals(...
本文实例讲述了thinkPHP5.0框架验证码调用及点击图片刷新实现方法。分享给大家供大家参考,具体如下: 1、配置文件中增加验证码配置 'captcha' => [ // 验证码字符集合 'codeSet' => '23456789', // 验证码字体...
本文实例为大家分享了php点击可刷新验证码的具体代码,供大家参考,具体内容... //验证码图片 private $disturbColor = ''; //干扰像素 function __construct($width='80',$height='20',$codenum='4') { $this->width
①编写验证码生成工具类,在此类中首先随机获取字符串,然后再将字符串转换成图片 ②向客户端输出验证码图像,并将对应的验证码字符串保存到session中,然后在登录或者注册页面中通过 或者jsp程序"/>标签加载图像,...
主要介绍了jsp+ajax实现的局部刷新较验验证码,基于onblur事件触发较验功能,以实例形式详细的分析了前台显示、图片生成及Ajax动态验证等详细技巧,具有一定参考借鉴价值,需要的朋友可以参考下
1 图形验证码,用python web框架Django能够实现动态刷新。 2 滑动验证码: 1.服务端随机生成小拼块和带有抠图缺口的背景图片,并保存随机抠图位置坐标; 2.前端实现滑动交互,将小拼块拖到缺口上还原完整图,记录到...
本资源提供的是一个django框架下的网站验证码技术,通过python代码调用PIL库生成图形验证码然后通过json方式将验证码字段和图片通过base64格式传输给前端,前端可以点击更换验证码(不用刷新页面),对输入进行校验...
1 图形验证码,用python web框架Django能够实现动态刷新。 2 滑动验证码: 1.服务端随机生成小拼块和带有抠图缺口的背景图片,并保存随机抠图位置坐标; 2.前端实现滑动交互,将小拼块拖到缺口上还原完整图,记录到...
用JSP生成随机数字验证码,数字验证码是图片形式的。通过点击按钮,可以实现对数字验证码的刷新。