- 浏览: 99684 次
- 性别:
- 来自: 深圳
最新评论
-
weizaiC:
[flash=200,200][/flash]
ExtJS实现下拉列表级联 -
yanxunjian:
Java实现读取xml文件sql配置转换为JDBC SQL
...
Java实现读取xml文件sql配置转换为JDBC SQL -
road_16:
奶奶的,大妹子的
ExtJS实现下拉列表级联 -
road_16:
2.0版本的前台显示不了数据,3.0版本的才可以,检查了大半天 ...
ExtJS实现下拉列表级联 -
road_16:
怎么不说明extjs所使用的版本呢?版本不一样,写法也是不同的 ...
ExtJS实现下拉列表级联
系统登陆或者注册的时候,为了防止恶意注册或者机器自动注册,采用验证码是常常使用的方式,下面是自己参考网上写的,自己处理了一下,目前使用的一个验证码生成类,其代码如下:
1、首先是验证码生成的Java类
package com.mail.sys.sysmgr.action; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.util.*; import java.awt.*; import java.awt.image.*; import javax.imageio.*; /** * 登录验证码生成器 * @author lizhenbin * */ public class RandCodeServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public RandCodeServlet() { super(); // TODO Auto-generated constructor stub } /** * 验证码生成方法 */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("image/jpeg"); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); HttpSession session = request.getSession(); // 在内存中创建图象 int width = 70, height = 25; 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, 20)); // 画边框 g.setColor(getRandColor(160, 200)); 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 + 14, 20); } // 将认证码存入SESSION session.setAttribute("vcode_sRand", sRand); // 图象生效 g.dispose(); // 输出图象到页面 ImageIO.write(image, "JPEG", response.getOutputStream()); } /** * 调用doGet */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub this.doGet(request, response); } /** * 颜色产生器 * @param fc * @param bc * @return */ 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); } }
2、页面调用验证码部分
<tr> <td height="30"> 验 证 码: </td> <td> <input type="text" id="j_captcha_response"> <img src="servlet/RandCode" alt="验证码" name="checkImg" id="checkImg" style="position:relative; top:6px; left:2px; " onClick="javascript:changePic()"/> </td> </tr>
3、JS调用部分
//ExtJS获取Session的值 function getSesssionName (){ var name = <%=(String)session.getAttribute("vcode_sRand")%>; } function changePic() { document.getElementById('checkImg').src='servlet/RandCode?temp='+ (new Date().getTime().toString(36)); return false; }
5. 配置文件部分
<servlet-mapping> <servlet-name>RandCode</servlet-name> <url-pattern>/servlet/RandCode</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>CheckCodeServlet</servlet-name> <url-pattern>/servlet/CheckCodeServlet</url-pattern> </servlet-mapping>
发表评论
-
poi创建Excel设计
2013-11-18 22:32 769电商商务,目前为止,做网站后台管理系统对到处数 ... -
程序员改变命运之程序,500W来了,信不信由你,每天JAVAC编译一下,JAVA一下500W就来了
2012-08-20 18:43 63胡乱写了一个随机数“双色球”程序,都是随机数,500W你信就有 ... -
JAVA读写文件基本方法
2012-08-20 09:30 870JAVA读写文件的基本方法,Reader 类是 J ... -
Java实现读取xml文件sql配置转换为JDBC SQL
2012-06-26 18:46 2437公司的框架都是用原生的JDBC框架,其中操作数据很 ... -
主键字符串自增Java实现
2012-06-09 17:41 5544程序实现字符串主键自增,例如:“SN000001” ... -
将Java字符串数组转化成对应的Entity
2012-06-06 09:14 3745最近新工作的 ... -
将简单的POJO转化为JSON或者XML
2012-05-10 18:04 1935利用反射机制获取类的信息,然后将所得的信息,转化成JSON数据 ... -
UDP通信
2012-05-10 17:54 913UDP通信,发送端发送数据,接受端接收数据,发送端发送数据不需 ... -
Java遍历、删除Map
2012-05-10 17:42 3495面试的时候,遇到一个很尴尬的事情,就是面试官问怎么 ... -
Java使用JXL创建Excel文件
2012-05-10 17:24 1908以前写过用jxl读取excel的,但是一直没有写 ... -
Java创建xml与排序
2012-05-05 19:53 2707DOM创建xml package com.lzb.model ... -
Java多线程
2012-05-05 19:49 786一个很有意思的题目,网上看到的,自己写了一下 题目的大概意思 ... -
Java的反射机制
2012-05-06 20:20 894Java的反射机制可以理解成,Java类Class ... -
TCP通信
2012-04-27 16:22 948TCP通信的一个模板 TCP的服务端用while一直接收客户 ... -
Java实现IP地址定位地址信息
2012-03-14 11:06 11305做电子商务网站的时候,网站的头部一般都有显示是哪个 ... -
Java文件操作
2012-02-07 16:34 850在工作中,经常要获取到文件所在的路径和创建文件夹,这里补充一下 ... -
MD5类使用
2012-01-12 11:13 1015对用户注册的密码加密类,采用MD5算法,留着以后用 注意,B ... -
Java取时间的一个类
2012-01-09 14:43 1142整理了一下自己开发过程中经常使用到的一个时间类,当做工具类使用 ... -
jdbc连接池
2011-12-30 16:49 875自己整理的一个JDBC驱动,方便以后离开框架直接测试,在mys ... -
Java创建文件和文件路径
2011-12-30 16:30 1854最近在开发过程中,经 ...
相关推荐
简单轻巧的验证码生成工具类。
本程序是采用Windows GDI+技术模拟Web上的验证码生成而设计的一款Windows版验证码随机生成程序,利用GDI+图形图像处理技术,可随机生成强验证码(即汉字验证码)或弱验证码(即数字和字母组合验证码),支持验证码的...
验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类验证码生成类
基于Springboot+VUE 的前后端分离式谷歌验证码生成器后台代码 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信...
验证码生成类大全
VC++验证码生成Base64验证码png图片程序,如何使用VC++生成验证码图片,输出Base64图片给网页调用
php验证码生成类
图片验证码生成demo
用Java写了一个4位(可多位)验证码生成器,封装在一个类里,只需调用一个方法,写入生成图片的类型和生成图片路径,可直接生成验证码,并返回验证码信息。 最简单的使用方法:解压包后,进入captcha文件夹,双击...
验证码生成器 一直想写验证码识别,但苦于没有足够的训练数据。 之前数据样本都是让我同学手动帮填的,效率极低而且还有错误率,后来想起找源码不是更方便吗。 便通过反编译zjdx.dll写下了批量生成验证码的软件。 ...
70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java验证码生成.zip70.java...
老师给的验证码生成器,分享到这里。已经out了
java模仿qq样式验证码生成器java模仿qq样式验证码生成器java模仿qq样式验证码生成器java模仿qq样式验证码生成器java模仿qq样式验证码生成器java模仿qq样式验证码生成器
一个.net core,跨平台的图形验证码生成工具包,基于ImageSharp。
含字母数字验证码生成
验证码生成 可以自定义需要产生的字符 速度快 带实例
C# 如何自动生成验证码(Web图形验证码生成示例),相信好多人有要用哦(源码) 生成5位数字的图开验证码
页面验证码生成器,可以定制显示的字符,字符长度,验证码图片的长度和高度,干扰纹可以更改
android本地验证码生成.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
一个php高安全验证码生成类程序,本生成程序需要调用一些字体库,你可以调用你系统自带的一些字体,当然也可以像dedecms一样自己把字体放到一个目录,这样在服务器上也可以使用。