JSP生成验证码
2016-03-15 11:31
513 查看
在浏览网页时,我们会经常看到验证码,尤其是登录和注册的时候,今天就为大家介绍一下如何使用JSP生成验证码图片,原理其实是很简单的,直接上代码:
运行程序,通过浏览器访问,我们会看到浏览器上显示
大家可以自己尝试在绘图的时候增加一些删除线之类的,提高验证码识别难度。
<%@ page contentType="image/jpeg;charset=utf-8" pageEncoding="GBK" %><%@ page import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*" import="java.io.OutputStream" %><%! Color getRandColor(int fc,int bc) { Random rd = new Random(); if (fc > 255) fc = 255; if (bc > 255) bc = 255; int red = fc + rd.nextInt(bc - fc); int green = fc + rd.nextInt(bc - fc); int blue = fc + rd.nextInt(bc - fc); return new Color(red, green, blue); } %> <html> <body> <% Random r = new Random(); response.addHeader("Pragma", "No-cache"); response.addHeader("Cache-Control", "no-cache"); response.addDateHeader("expires", 0); int width = 80; int height = 32; BufferedImage pic = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics gc = pic.getGraphics(); gc.setColor(getRandColor(200, 250)); gc.fillRect(0, 0, width, height); String[] rNum = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "W", "X", "Y", "Z"}; int[] style = {Font.PLAIN, Font.BOLD, Font.ITALIC, Font.PLAIN + Font.BOLD, Font.BOLD + Font.ITALIC, Font.PLAIN + Font.ITALIC, Font.PLAIN + Font.BOLD + Font.ITALIC}; gc.setColor(getRandColor(60,150)); String rt = ""; for(int i = 0; i < 4; i++) { String temp = rNum[r.nextInt(rNum.length)]; rt = rt + temp; gc.setFont(new Font("Times New Roman", style[r.nextInt(7)], 21)); gc.drawString(temp, 15 + 13 * i + r.nextInt(2), 23); } gc.dispose(); OutputStream os = response.getOutputStream(); ImageIO.write(pic, "JPEG", os); os.flush(); os.close(); os = null; response.flushBuffer(); out.clear(); out = pageContext.pushBody(); %> </body> </html>
运行程序,通过浏览器访问,我们会看到浏览器上显示
大家可以自己尝试在绘图的时候增加一些删除线之类的,提高验证码识别难度。
相关文章推荐
- JSP/PHP基于Ajax的分页功能实现
- java自动生成验证码插件-kaptcha
- 开发阶段Jetty运行Jsp报错且响应空白
- jsp简单实现页面之间共享信息的方法
- Apache Web让JSP“动”起来
- 如何识别高级的验证码的技术总结第1/4页
- PHP 验证码不显示只有一个小红叉的解决方法
- asp汉字中文图片验证码
- asp.net生成字母和数字混合图形验证码
- PHP实现简单汉字验证码
- php生成动态验证码gif图片
- php生成验证码函数
- 基于JavaScript短信验证码如何实现
- php 验证码制作(网树注释思想)
- 基于C#实现12306的动态验证码变成静态验证码的方法
- C#验证码识别基础方法实例分析
- javascript点击才出现验证码
- node.js WEB开发中图片验证码的实现方法