- 浏览: 96054 次
- 性别:
文章分类
- 全部博客 (151)
- Spring-MVC学习 (5)
- 偶然间发现 (2)
- easyUi学习 (7)
- web项目相关技术 (4)
- java学习 (26)
- webService (4)
- 一些工具的安装使用 (7)
- js学习 (20)
- Sping学习 (7)
- mybatis学习 (5)
- 定时器 (4)
- oracle (2)
- JSP学习 (6)
- HTML一些标签 (1)
- web服务 (2)
- 偶尔得到的地址 (2)
- 常用的代码记录 (2)
- 设计模式 (1)
- java常使用的开源API (1)
- maven (1)
- Socket (1)
- nginx (2)
- jquery (3)
- poi (2)
- 写过的工具类 (19)
- 微信开发 (2)
- mysql (1)
- freemarker (2)
- ftp (1)
- 用过的软件 (1)
- jconsole (1)
- log4j (1)
- redis的简单入门使用 java调用redis (0)
- redis的使用 (2)
- 生活相关的 (1)
最新评论
-
chokee:
...
easyUi学习之开启行编辑模式增删改操作 -
lijie_insist:
就是有的界面需要显示天气啊!所以你要调用天气的接口啊 因为很多 ...
免费的天气接口的一个demo -
zhglance:
请问这是干什么用的呢?
免费的天气接口的一个demo
参考了些网上代码,自己写了一个验证
第一:写一个图片生成类
第二:
前端获取验证码
第一:写一个图片生成类
package com.demo.util; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * 生成一个校验图片 */ public class ImageUtil { private static final int WIDTH = 80; private static final int HIGHT = 30; private static final char[] CODE_SEQUENCE = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; // 验证码字符个数 private static final int CODE_COUNT = 4; // 字体的位置参数 private static final int FONT_AREA = WIDTH / (CODE_COUNT + 1); public static void createCheckImg(HttpServletRequest request, HttpServletResponse response) throws IOException { // 定义图像 BufferedImage bi = new BufferedImage(WIDTH, HIGHT, BufferedImage.TYPE_INT_RGB); Graphics2D gd = bi.createGraphics(); // 随机数 Random random = new Random(); // 矩形填充为白色 gd.fillRect(0, 0, WIDTH, HIGHT); gd.setColor(Color.white); // 根据高宽设置字体 // 字体四种风格 plain bold italic Font font = new Font("Fixedsys", Font.BOLD, HIGHT - 5); gd.setFont(font); // 画边框 gd.setColor(Color.BLACK); gd.drawRect(0, 0, WIDTH - 1, HIGHT - 1); gd.setColor(Color.BLACK); // 随机产生几条干扰线 for (int i = 0; i < 6; i++) { int x1 = random.nextInt(WIDTH); int y1 = random.nextInt(HIGHT); int x2 = random.nextInt(20); int y2 = random.nextInt(10); gd.drawLine(x1, y1, x1 + x2, y1 + y2); } // 产生随机码 int red = 0, green = 0, blue = 0; // 存储数据的buffer StringBuffer sb = new StringBuffer(); for (int i = 0; i < CODE_COUNT; i++) { // 得到随机数 String strRand = String.valueOf(CODE_SEQUENCE[random.nextInt(36)]); // 产生随机的颜色 red = random.nextInt(255); green = random.nextInt(255); blue = random.nextInt(255); // 将验证码绘成图案 gd.setColor(new Color(red, green, blue)); gd.drawString(strRand, (i ) * FONT_AREA, HIGHT - 4);// x,y表坐标位置,按照宽度分5个坐标 // 拼接数字 sb.append(strRand); } // 设置session request.getSession().setAttribute("checkCode", sb.toString()); // 禁止图像缓存。 response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); response.setContentType("image/jpeg"); ServletOutputStream sos = response.getOutputStream(); ImageIO.write(bi, "jpg", sos); sos.close(); } }
第二:
前端获取验证码
<img src="${ctx}/uploadFile/createImg" id="checkImg" alt="wait..."/> <a href="#" onclick="changeImg()">换一张</a> <script type="text/javascript"> //换验证图片 function changeImg(){ var img = $("#checkImg"); var imgSrc = img.attr("src"); img.attr("src",changeUrl(imgSrc)); } //无了使图片不一样,不让浏览器加上缓存,所以用时间戳来作为参数 function changeUrl(imgSrc){ var timestamp = (new Date()).valueOf(); var indexTemp =imgSrc.indexOf("="); if(indexTemp>0){ var subUrl = imgSrc.substring(0,indexTemp); var resultUrl = subUrl + "=" + timestamp; return resultUrl; }else{ var resultUrl = imgSrc + "?" + "timestamp=" + "timestamp"; return resultUrl; } } </script>
发表评论
-
java生成水印
2017-02-20 11:28 524package com.zte.club.util; i ... -
获取随机码
2016-09-26 12:00 475/*** * 获取指定长度的随机验证码 * @pa ... -
导入数据脚本
2016-09-18 11:01 370-- mysql的脚本 把一个表的数据插入到另一个表 如果数据 ... -
使用base64decoder对文件互转来提供文件上传接口
2016-09-13 17:13 2995淘宝里面的html用base64转换图片,不知道为什么,不过看 ... -
物理分页相关与加载到底部
2016-08-18 10:32 288Integer pageSize = json.get(&qu ... -
java获取项目的路径以及请求的路径
2016-07-15 16:01 742/** *获取项目resource下面的config文件 ... -
java调用http接口以及提供接口
2016-07-08 17:20 664******************************* ... -
获取request请求的ip地址
2016-07-05 10:25 808// 获取访问的ip地址 public static St ... -
java web常用到的ajax分页思路
2016-05-13 16:04 1862有时候其实用同步的分页可以在url上记录页数 这样把链接分享给 ... -
excel的操作相关的---生成excell
2016-01-12 21:16 428/* * Decompiled with CFR 0_10 ... -
word的操作
2016-01-07 16:15 342// word的操作其中有对于那个阿拉伯到大写数字的操作 p ... -
邮件和短信的发送
2016-01-07 15:59 463package com.mes.util; import ... -
file文件的拷贝 以及ftp的下载
2016-01-07 15:54 474package com.zte.xh.fund.util; ... -
excel的操作相关的---读取excell内容
2016-01-07 15:47 448package com.zte.xh.fund.util; ... -
关于找回密码
2015-08-10 09:46 354原文:http://www.cnblogs.com/zyw-2 ... -
匹配字符串中的连续多少位数字
2015-08-07 08:53 494package com.zte.xh.fund.util; ... -
比对的一个工具类
2015-07-24 00:27 357package study.corejava.string; ... -
操作的File的一个小工具
2015-07-17 14:57 336// 保存下,都是对文件上传时遇到的一些问题,保存了以后用的时 ...
相关推荐
java生成验证码图片的文件已完成测试
用于java生成验证码图片的工具类。(源码 .java 文件)
在IT领域,验证码(CAPTCHA)是一...在提供的压缩包文件“图片验证码生成”中,可能包含了实现上述功能的源代码示例,你可以通过学习和理解这些代码,加深对Java生成图片验证码的理解,并根据实际需求进行调整和优化。
java生成验证码的工具类,这个现在有依赖可以直接引入调用,但这个工具类没有引入依赖,大家也容易看懂代码,理解其含义。也可直接去工具类中调整生成验证码的宽度、高度、颜色、背景颜色、生成的随机数数量、干扰线...
Java随机生成验证码图片,适用于web登录验证等。个人觉得很不错~
用java写的验证码类,可以生成4个字符,且字体和大小都随机
总的来说,Java生成验证码是一个结合了数学随机性、图像处理和安全性考量的过程。通过学习和使用`kaptcha`或其他验证码生成库,开发者能够快速地在自己的项目中实现这一功能。同时,理解和实现验证码的生成也能加深...
这个"java生成验证码demo"提供了生成自定义验证码图片的方法,包括设置图片尺寸、验证码长度,以及添加各种视觉混淆元素,以增加机器识别的难度。 首先,我们要理解验证码的基本原理。它通常由一组随机生成的字母或...
首先,我们来看标题"java生成图片验证码"。这个标题暗示我们将探讨的是在Java环境中生成随机的、可读性较差的文本,并将其转化为图像的过程,以创建一个验证码。验证码通常由字母、数字或两者混合组成,设计的目的...
验证码(Vercode)是网络应用中常用的一种...总的来说,创建Java图片验证码涉及多个技术点,包括字符串生成、图像处理、随机数生成等。通过理解并实践这些技术,开发者可以创建出适合自己应用的高效安全的验证码系统。
该工具类使用随机字符生成验证码,并支持自定义验证码长度和字体样式。生成的验证码图片背景透明,线条清晰,可轻松辨认。本源码包含了工具类源码及调用示例,可供开发者参考使用,集成到您的项目中。
java生成验证码源码包括彩色验证码 包括jsp生成验证码和彩色验证码
JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码
在Java中生成验证码涉及到图像处理、随机数生成以及字符编码等多个知识点。以下将详细介绍如何在Java中创建一个能生成中文、英文和数字的验证码。 1. **随机数生成**:首先,我们需要生成随机的验证码字符。Java...
这是我个人从网上载的比较好的方法,跟大家推荐分享下。
在SpringMVC中,生成验证码图片需要使用@Controller注解的Controller类,通过@RequestMapping注解的方法来处理验证码图片的生成。在本例中,使用ValidateCodeController类来生成验证码图片,并将其输出到客户端。 ...
- **Servlet**:在Servlet中调用工具类的方法,生成验证码并将其保存到服务器的一个临时目录,同时将验证码内容保存在Session中,以供后续验证使用。 - **响应客户端**:Servlet返回生成的GIF图像到客户端,通常...
在Web开发中,使用JSP(JavaServer Pages)来生成验证码图片是一种常见的方法。下面我们将详细讨论如何在JSP中实现验证码的生成。 首先,我们需要理解验证码的基本原理。验证码通常包含一串随机的字母和数字,有时...
java生成随机验证码, 这是一个demo, eclipse项目,导入eclipse即可
Java生成算数运算中文图片验证码的实现,结合了编程语言、图像处理和安全验证的多种技术,为用户提供了一种既安全又友好的验证方式。下面我们将深入探讨这个主题。 首先,验证码的核心是生成随机的算数运算表达式。...