《Java从入门到放弃》框架入门篇:使用kaptcha验证码框架
使用kaptcha框架实现的验证码效果如下图
使用该验证码框架的步骤如下:
一、引入 kaptcha-2.3.2.jar(点击下载) 文件。
二、在web.xml中配置验证码Servlet。
<servlet><servlet-name>newKaptcha</servlet-name><servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class><init-param><param-name>kaptcha.border</param-name><param-value>no</param-value></init-param><init-param><param-name>kaptcha.textproducer.font.color</param-name><param-value>red</param-value></init-param><init-param><param-name>kaptcha.image.width</param-name><param-value>80</param-value></init-param><init-param><param-name>kaptcha.image.height</param-name><param-value>30</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.string</param-name><param-value>0123456789abcdefABCDEF</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.length</param-name><param-value>4</param-value></init-param><init-param><param-name>kaptcha.textproducer.char.space</param-name><param-value>3</param-value></init-param><init-param><param-name>kaptcha.textproducer.font.size</param-name><param-value>24</param-value></init-param><init-param><param-name>kaptcha.textproducer.font.names</param-name><param-value>Arial</param-value></init-param><init-param><param-name>kaptcha.noise.impl</param-name><param-value>com.google.code.kaptcha.impl.NoNoise</param-value></init-param><init-param><param-name>kaptcha.obscurificator.impl</param-name><param-value>com.google.code.kaptcha.impl.ShadowGimpy</param-value></init-param></servlet><servlet-mapping><servlet-name>newKaptcha</servlet-name><url-pattern>/kaptcha.png</url-pattern></servlet-mapping>
Constant | 描述 | 默认值 |
---|---|---|
kaptcha.border | 图片边框,合法值:yes , no | yes |
kaptcha.border.color | 边框颜色,合法值: r,g,b 或blue等 | black |
kaptcha.border.thickness | 边框厚度,合法值:>0 | 1 |
kaptcha.image.width | 图片宽 | 200 |
kaptcha.image.height | 图片高 | 50 |
kaptcha.producer.impl | 图片实现类 | com.google.code.kaptcha.impl.DefaultKaptcha |
kaptcha.textproducer.impl | 文本实现类 | com.google.code.kaptcha.text.impl.DefaultTextCreator |
kaptcha.textproducer.char.string | 文本集合,验证码值从此集合中获取 | abcde2345678gfynmnpwx |
kaptcha.textproducer.char.length | 验证码长度 | 5 |
kaptcha.textproducer.font.names | 字体 | Arial, Courier |
kaptcha.textproducer.font.size | 字体大小 | 40px |
kaptcha.textproducer.font.color | 字体颜色,合法值: r,g,b 或者 blue 等 | black |
kaptcha.textproducer.char.space | 文字间隔 | 2 |
kaptcha.noise.impl | 干扰实现类 | com.google.code.kaptcha.impl.DefaultNoise |
kaptcha.noise.color | 干扰颜色,合法值: r,g,b 或者 white,black,blue. | black |
kaptcha.obscurificator.impl |
图片样式: 水纹com.google.code.kaptcha.impl.WaterRipple 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy 阴影com.google.code.kaptcha.impl.ShadowGimpy |
com.google.code.kaptcha.impl.WaterRipple |
kaptcha.background.impl | 背景实现类 | com.google.code.kaptcha.impl.DefaultBackground |
kaptcha.background.clear.from | 背景颜色渐变,开始颜色 | light grey |
kaptcha.background.clear.to | 背景颜色渐变,结束颜色 | white |
kaptcha.word.impl | 文字渲染器 | com.google.code.kaptcha.text.impl.DefaultWordRenderer |
kaptcha.session.key | session key | KAPTCHA_SESSION_KEY |
kaptcha.session.date | session date | KAPTCHA_SESSION_DATE |
三、在JSP页面中调用Servlet。
<script type="text/javascript">function changeCode(){var imgCode = document.getElementById("imgcode");imgCode.src = "kaptcha.png?"+Math.random();}
</script>
<div><label>验证码:</label><input type="text" id="inCode" name="inCode" /><img src="kaptcha.png" style="width:80px; height: 30px" align="center" id="imgcode" onclick="changeCode()" /><a onclick="changeCode()">换一张</a>
</div>
《Java从入门到放弃》框架入门篇:使用kaptcha验证码框架相关推荐
- jmeter-5-从入门到放弃【基础篇】
一.Jmeter简介: 1.简介 Jmeter 是一款基于Java程序开发的可视化客户端 (类似postman客户端).具有开源.高可扩展性.高移植性.多线程框架等特点. 简单来说它就是:界面友好,能 ...
- dotnet 从入门到放弃的 500 篇文章合集
本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...
- CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维
前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...
- python pipeline框架_Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法...
原博文 2017-07-17 16:39 − 当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的pytho ...
- 肺炎在家自学C#--从入门到放弃然后又入门又放弃又入门
入门到第一次中断 去年的工作太忙,工作知识涉及面又广,大量学习的是管理经验,以及半导体检测设备现场故障处 理.下了班每天学一个小时软件,几个月过后,学习了有一百个小时.就没有然后了. 正如一切自学那样 ...
- Java笔记-使用Kaptcha验证码框架
使用Kaptcha这个验证码框架用起来,比自己写简单 首先设置maven项目: <dependency><groupId>com.github.penggle</grou ...
- 《Java从入门到放弃》入门篇:hibernate查询——HQL
不知不觉又到了hibernate的最后一篇了,只感觉时光飞逝~,岁月如梭~! 转眼之间,我们就···························,好吧,想装个X,结果装不下去了,还是直接开始吧· ...
- Java新手教程从入门到放弃从入门到精通(3)
运算 关系运算 布尔类型 接着上一篇继续讲布尔类型,下面创建两个布尔类型的变量并输出看下结果: public static void main(String[] args) {boolean bo ...
- Python爬虫从入门到放弃(十二)之 Scrapy框架的架构和原理
原文地址https://www.cnblogs.com/zhaof/p/7173397.html 这一篇文章主要是为了对scrapy框架的工作流程以及各个组件功能的介绍 Scrapy目前已经可以很好的 ...
最新文章
- 基于继承类的属性模版中无法绑定的原因和解决方法
- 5、Power Map—实例:填充地图
- Spring JdbcTemplate快速入门
- VTK:可视化之AssignCellColorsFromLUT
- 浏览器播放rtsp视频流方案(ffmpeg + nginx转m3u8)
- atitit。获取表格的字段注释metadata的原理以及AND 字段表格描述文档方案
- linux 错误信息 输出到管道,linux grep通过管道输出到head出现write error: Broken pipe错误...
- mysql sql_log_bin怎么看_MySQL数据库之开启和查看mysql的bin-log日志
- Office365 PowerShell打开邮箱审计功能
- [android] 切换界面的通用处理
- oracle 字符串等于,ORACLE in (字符串,字符串,字符串)
- gin框架-1请求参数的示例:
- Java学习笔记之设计模式(3)抽象工厂模式
- 一份优秀的前端开发工程师简历是怎样的?
- JQuary(从原生js到jq,就发现jq好简单)
- Python爬虫汉字乱码问题
- 牛客网暑期ACM多校训练营(第八场)
- 【强化学习】Q-Learning原理及代码实现
- 你了解常见电子原件的识别吗?
- Visual Studio 安装VSN插件
热门文章
- java代码混淆(使用 ProGuard 工具)
- 【软件工程】需求分析
- CS61B学习笔记——proj2 gitlet的实现
- VL19-使用38译码器实现逻辑函数!L=(~A)·C+A·B
- java script error_JavasScript 简单错误总结 错误调试
- 2022-12-19 个人便签1:RS CMW官方相关手册网址便签
- 如何获取管理员权限,修改文件
- 2022年最好用的五款设备管理软件
- 微软为什么能在中国所向披靡 雁鸣
- Linux安装maven(详细教程)