- 浏览: 309771 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
di1984HIT:
不错,不错。
Jquery.LazyLoad.js插件修正版下载,实现图片延迟加载特效 -
fncj:
好东西,
freemarker常用技巧 -
xwy55555:
说得很清楚
大型网站框架的演变 -
gxz1989611:
这个东西好,我转载了~~
40 个轻量级 JavaScript 库 -
gxz1989611:
恩,这个标题真是考虑到了SEO啊!!!
这才是真正的JQuery.ajax传递中文参数的解决方法
但是许多时候因为产品啊,领导啊等等什么的需求就出来了,怎么去让它适应需求?
1.kaptcha可配置项:
- kaptcha.border 是否有边框 默认为 true 我们可以自己设置yes,no
- kaptcha.border.color 边框颜色 默认为Color.BLACK
- kaptcha.border.thickness 边框粗细度 默认为1
- kaptcha.producer.impl 验证码生成器 默认为DefaultKaptcha
- kaptcha.textproducer.impl 验证码文本生成器 默认为DefaultTextCreator
- kaptcha.textproducer.char .string 验证码文本字符内容范围 默认为abcde2345678gfynmnpwx
- kaptcha.textproducer.char .length 验证码文本字符长度 默认为 5
- kaptcha.textproducer.font.names 验证码文本字体样式 默认为new Font( "Arial" , 1 , fontSize), new Font( "Courier" , 1 , fontSize)
- kaptcha.textproducer.font.size 验证码文本字符大小 默认为40
- kaptcha.textproducer.font.color 验证码文本字符颜色 默认为Color.BLACK
- kaptcha.textproducer.char .space 验证码文本字符间距 默认为 2
- kaptcha.noise.impl 验证码噪点生成对象 默认为DefaultNoise
- kaptcha.noise.color 验证码噪点颜色 默认为Color.BLACK
- kaptcha.obscurificator.impl 验证码样式引擎 默认为WaterRipple
- kaptcha.word.impl 验证码文本字符渲染 默认为DefaultWordRenderer
- kaptcha.background.impl 验证码背景生成器 默认为DefaultBackground
- kaptcha.background.clear.from 验证码背景颜色渐进 默认为Color.LIGHT_GRAY
- kaptcha.background.clear.to 验证码背景颜色渐进 默认为Color.WHITE
- kaptcha.image.width 验证码图片宽度 默认为200
- kaptcha.image.height 验证码图片高度 默认为50
2.kaptcha提供了很好的可扩展性,而且扩展的方式也很简单,只需要实现相关接口,然后把我们自定义的对象添加到配置项里面就可以了,如
Producer,WordRenderer,GimpyEngine,BackgroundProducer,NoiseProducer,TextProducer
这些接口,我们可以随意的扩展。
3.关于对生成的验证码进行加噪点,一些干扰因素,kaptcha也提供了许多现成的filter供选择,它自己默认的干扰因素生成类
WaterRipple就是由RippleFilter,WaterFilter两个filter组成的,这些filter实现了各种对文本样式变化处
理,位于com.jhlabs.image package下。
自己实现一个WordRenderer
- public class ZHWordRenderer extends Configurable implements WordRenderer{
- public ZHWordRenderer()
- {
- }
- public BufferedImage renderWord(String word, int width, int height)
- {
- int fontSize = getConfig().getTextProducerFontSize();
- // 这个地方我们自定义了验证码文本字符样式,虽然是可以配置的,但是字体展示都粗体,我们希望不是粗体就只有自定义这个渲染类了
- String paramName = "kaptcha.textproducer.font.names" ;
- String paramValue = (String)getConfig().getProperties().get(paramName);
- String fontNames[] = paramValue.split("," );
- Font fonts[] = new Font[fontNames.length];
- for ( int i = 0 ; i < fontNames.length; i++){
- fonts[i] = new Font(fontNames[i], Font.ITALIC, fontSize);
- }
- java.awt.Color color = getConfig().getTextProducerFontColor();
- int charSpace = getConfig().getTextProducerCharSpace();
- BufferedImage image = new BufferedImage(width, height, 2 );
- Graphics2D g2D = image.createGraphics();
- g2D.setColor(color);
- RenderingHints hints = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
- hints.add(new RenderingHints(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY));
- g2D.setRenderingHints(hints);
- java.awt.font.FontRenderContext frc = g2D.getFontRenderContext();
- Random random = new Random();
- int startPosY = (height - fontSize) / 5 + fontSize;
- char wordChars[] = word.toCharArray();
- Font chosenFonts[] = new Font[wordChars.length];
- int charWidths[] = new int [wordChars.length];
- int widthNeeded = 0 ;
- for ( int i = 0 ; i < wordChars.length; i++)
- {
- chosenFonts[i] = fonts[random.nextInt(fonts.length)];
- char charToDraw[] = {
- wordChars[i]
- };
- GlyphVector gv = chosenFonts[i].createGlyphVector(frc, charToDraw);
- charWidths[i] = (int )gv.getVisualBounds().getWidth();
- if (i > 0 )
- widthNeeded += 2 ;
- widthNeeded += charWidths[i];
- }
- int startPosX = (width - widthNeeded) / 2 ;
- for ( int i = 0 ; i < wordChars.length; i++)
- {
- g2D.setFont(chosenFonts[i]);
- char charToDraw[] = {
- wordChars[i]
- };
- g2D.drawChars(charToDraw, 0 , charToDraw.length, startPosX, startPosY);
- startPosX = startPosX + charWidths[i] + charSpace;
- }
- return image;
- }
-
}
发表评论
-
kaptcha 验证码在spring mvc 中的使用
2012-07-04 10:11 2099... -
Java编程中“为了性能”尽量要做到的一些地方
2012-05-29 16:09 1004下面是参考网络资源总结的一些在Java编程中尽可能要做到的 ... -
freemarker常用技巧
2012-05-03 10:21 312991. freemarker 简介 ... -
Spring邮件发送(可带附件,模板,群发,异步发送等功能)
2011-09-20 16:19 2393... -
Quartz
2011-09-14 16:35 1484博客 ... -
eclipse下启动tomcat出现Setting property 'source' to 'org.eclipse.jst.jee.server: '错误的
2011-06-08 16:08 3454在eclipse中启动tomcat时 ... -
Maven常用插件使用说明之deploy
2011-06-02 23:37 5341Maven的deploy插件用于把Maven自动构 ... -
Hudson+Maven+SVN 快速搭建持续集成环境
2011-06-01 10:35 1704hudson 是一个可扩展的持 ... -
struts2 中使用 chain Result 时 actionMessage 和 actionError 未复制的原因
2011-05-24 22:43 2189在网上查询N久,未解决。 一说必须使用 chain Res ... -
Quartz时间规则
2011-03-07 16:26 1978* * * * * ... -
Spring Quartz 任务调度
2011-03-07 16:07 1512关 ... -
可以设置你提交代码是必须写注释,可以规定长度至少为多少
2010-12-23 13:58 3791不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不 ... -
Tomcat UTF-8 乱码问题解决办法
2010-12-20 16:13 2230关于java的乱码,一直是双字节字符环境开发者的问题,不同 ... -
eclipse中将java项目转换为web项目
2010-11-19 16:03 28571、进入项目目录,找到.project文件,打开。 2、 ... -
poi 新手教程
2010-10-28 15:10 1270poi 新手教程 Jakarta_POI 使用Ja ... -
Subversion Windows迁移到Linux服务器的步骤
2010-06-01 09:59 1479首先在Windows上,使用svnadmin dump res ... -
JAVA读写Properties文件
2009-04-30 21:05 3374JAVA读写Properties文件 ... -
Tomcat out of memory解决
2009-03-01 23:09 6871Tomcat 默认可以使用的内存为 128MB ,在较大型 ... -
Tomcat加入到系统服务中
2009-01-20 09:55 1496命令行使用sc命令.关于sc命令的详解,请自 ... -
web.xml的配置顺序
2008-12-30 14:31 1056filter,filter-mapping,listener, ...
相关推荐
下面将详细介绍Kaptcha的安装与使用过程。 1. **Kaptcha的安装** - Kaptcha提供了jar包,如`kaptcha-2.3.2-jdk14.jar`和`kaptcha-2.3.2.jar`,它们包含了Kaptcha的核心类和依赖。将这两个文件添加到你的Java项目的...
赠送jar包:kaptcha-2.3.2.jar; 赠送原API文档:kaptcha-2.3.2-javadoc.jar; 赠送源代码:kaptcha-2.3.2-sources.jar; 赠送Maven依赖信息文件:kaptcha-2.3.2.pom; 包含翻译后的API文档:kaptcha-2.3.2-javadoc-...
下面我们将详细介绍Kaptcha的使用方法。 首先,要在项目中使用Kaptcha,你需要将`kaptcha-2.3.jar`包导入到你的项目类路径中。这个JAR文件包含了Kaptcha的核心组件和依赖,使你能够快速地集成验证码功能。 接下来...
使用Kaptcha生成随机码的一个demo
谷歌的kaptcha库是其中一款广泛使用的开源验证码生成器,尤其以其2.3.2版本备受推崇。本文将深入探讨kaptcha-2.3.2.jar的核心功能、使用方法以及如何通过配置参数来定制验证码的显示效果。 一、kaptcha概述 ...
在Controller中,使用kaptcha生成验证码: ```java @Controller public class CaptchaController { @Autowired private Producer captchaProducer; @GetMapping("/captcha") public void captcha...
【谷歌验证码使用工具——kaptcha-2.3.2】是一款基于Java的开源验证码生成库,主要用于网站的身份验证,防止自动化的机器人或者恶意攻击者进行非法操作。kaptcha这个名字是"CAPTCHA"(Completely Automated Public ...
6. **示例代码**:文件可能提供了一些简单的Java代码片段,展示如何快速开始使用kaptcha。 总之,kaptcha是一个强大的验证码生成工具,对于Java开发者来说,它提供了一种便捷的方式来保护他们的应用免受自动化攻击...
在本文中,我们将深入探讨Kaptcha的特性、工作原理以及如何在实际项目中集成和使用。 Kaptcha的核心功能在于生成难以由机器识别的图像验证码,这些图像通常包含随机的字母或数字组合,用户在提交表单前需要正确输入...
### Kaptcha验证码使用详解 #### 一、Kaptcha简介 Kaptcha是一款强大的验证码生成工具,由Java编写而成,被广泛应用于Web应用中。其最大的特点在于高度可定制性,允许开发者根据需求调整验证码的样式与内容。这...
本文将深入探讨Kaptcha 2.3.2版本,解析其核心概念、使用方法以及实际应用场景。 1. **Kaptcha简介** Kaptcha是由Google开源的一个Java验证码生成框架,它的设计目标是提供一个简单易用的API,帮助开发者快速创建...
在实际项目中,使用`kaptcha-2.3.jar`时,你需要: 1. 将`kaptcha-2.3.jar`添加到项目的类路径中。 2. 配置`web.xml`,声明`KaptchaServlet`并设置其URL映射。 3. 创建一个`KaptchaProducer`实例,配置验证码的生成...
6. **README.txt**:这是一个重要的文档,通常会提供插件的基本介绍、安装指南、使用示例以及注意事项等内容,帮助开发者快速理解和使用kaptcha。 7. **kaptcha.war**:这是一个Web应用归档文件,用于部署在Servlet...
在Web开发中,`kaptcha` 是一个广泛使用的Java库,用于生成复杂的图像验证码。`kaptcha-2.3.2` 是该库的一个版本,提供了丰富的功能和定制选项。 `kaptcha` 库的核心是生成器(Generator),它负责创建独一无二且...
在本案例中,我们将探讨如何使用`Kaptcha`插件来生成动态验证码。`Kaptcha`是一个开源Java库,专为生成验证码图像而设计,具有高度可配置性,可以轻松集成到Web应用中。 首先,我们需要了解`Kaptcha`插件的基本用法...
javadoc目录下则是kaptcha库的API文档,通过阅读这些文档,开发者可以了解类、方法和接口的具体使用方式。src目录包含源代码,对于想要自定义验证码样式或者深入理解其工作原理的开发者来说,这是一个宝贵的资源。...
这个"kaptcha验证码小程序"是基于kaptcha开发的一个简单的示例项目,旨在帮助初学者了解和学习如何使用kaptcha来创建验证码。 kaptcha的核心特性包括: 1. **可定制性**:kaptcha提供了一系列参数供开发者调整...
在实际使用中,你可能需要将Kaptcha集成到Spring、Struts或其他Web框架中。这通常涉及到在配置文件中声明一个Kaptcha bean,并在需要的地方注入这个bean以生成验证码。例如,在Spring中,可以在`applicationContext....
本文将深入探讨kaptcha.jar这一验证码资源包,揭示其工作原理、功能特性以及在实际应用中的使用方法。 kaptcha.jar是一个专门用于生成验证码的Java库,它为开发者提供了简单易用的API,以生成各种复杂度的图像...