- 浏览: 87878 次
- 性别:
文章分类
- 全部博客 (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 467package com.zte.club.util; i ... -
获取随机码
2016-09-26 12:00 412/*** * 获取指定长度的随机验证码 * @pa ... -
导入数据脚本
2016-09-18 11:01 317-- mysql的脚本 把一个表的数据插入到另一个表 如果数据 ... -
使用base64decoder对文件互转来提供文件上传接口
2016-09-13 17:13 2203淘宝里面的html用base64转换图片,不知道为什么,不过看 ... -
物理分页相关与加载到底部
2016-08-18 10:32 239Integer pageSize = json.get(&qu ... -
java获取项目的路径以及请求的路径
2016-07-15 16:01 668/** *获取项目resource下面的config文件 ... -
java调用http接口以及提供接口
2016-07-08 17:20 609******************************* ... -
获取request请求的ip地址
2016-07-05 10:25 748// 获取访问的ip地址 public static St ... -
java web常用到的ajax分页思路
2016-05-13 16:04 1822有时候其实用同步的分页可以在url上记录页数 这样把链接分享给 ... -
excel的操作相关的---生成excell
2016-01-12 21:16 384/* * Decompiled with CFR 0_10 ... -
word的操作
2016-01-07 16:15 295// word的操作其中有对于那个阿拉伯到大写数字的操作 p ... -
邮件和短信的发送
2016-01-07 15:59 406package com.mes.util; import ... -
file文件的拷贝 以及ftp的下载
2016-01-07 15:54 422package com.zte.xh.fund.util; ... -
excel的操作相关的---读取excell内容
2016-01-07 15:47 412package com.zte.xh.fund.util; ... -
关于找回密码
2015-08-10 09:46 313原文:http://www.cnblogs.com/zyw-2 ... -
匹配字符串中的连续多少位数字
2015-08-07 08:53 445package com.zte.xh.fund.util; ... -
比对的一个工具类
2015-07-24 00:27 302package study.corejava.string; ... -
操作的File的一个小工具
2015-07-17 14:57 283// 保存下,都是对文件上传时遇到的一些问题,保存了以后用的时 ...
相关推荐
java生成验证码图片的文件已完成测试
java 生成图片验证码 带干扰线等
java生成验证码图片,资源包括自定义图片尺寸和验证码长度,每个字符随机偏移角度,字符平滑边缘,含干扰线、噪点和背景扭曲。
Java随机生成验证码图片,适用于web登录验证等。个人觉得很不错~
用java写的验证码类,可以生成4个字符,且字体和大小都随机
java生成验证码的工具类,这个现在有依赖可以直接引入调用,但这个工具类没有引入依赖,大家也容易看懂代码,理解其含义。也可直接去工具类中调整生成验证码的宽度、高度、颜色、背景颜色、生成的随机数数量、干扰线...
java生成图片验证码
java生成验证码源码包括彩色验证码 包括jsp生成验证码和彩色验证码
JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码JAVA图片验证码 图片验证码
这是我个人从网上载的比较好的方法,跟大家推荐分享下。
java
生成验证码图片的jsp代码生成验证码图片的jsp代码
是一个完整的例子!生成的验证码有中文的,英文的,数字的
java生成验证码的参考资料(中英文验证码),这是网络资料的收集,大家可以试一下,效果应该不错,感谢网友的提供。
Java生成图片验证码 Java代码
java生成验证码图片简单例子 Servlet
java随机生成验证码
java生成验证码代码 主要:一个生成验证码的servlet,一个jsp页面,另外还需要配置下web.xml即可
主要介绍了Java生成图形验证码工具类,本文思路明确介绍的非常详细,需要的朋友可以参考下
java 生成gif 图片验证码,可以应用于生产环境