使用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>
kaptcha属性表
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验证码框架相关推荐

  1. jmeter-5-从入门到放弃【基础篇】

    一.Jmeter简介: 1.简介 Jmeter 是一款基于Java程序开发的可视化客户端 (类似postman客户端).具有开源.高可扩展性.高移植性.多线程框架等特点. 简单来说它就是:界面友好,能 ...

  2. dotnet 从入门到放弃的 500 篇文章合集

    本文是记录我从入门到放弃写的博客 博客包括 C#.WPF.UWP.dotnet core .git 和 VisualStudio 和一些算法,所有博客使用 docx 保存 下载:dotnet 从入门到 ...

  3. CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

    前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...

  4. python pipeline框架_Python爬虫从入门到放弃(十六)之 Scrapy框架中Item Pipeline用法...

    原博文 2017-07-17 16:39 − 当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的pytho ...

  5. 肺炎在家自学C#--从入门到放弃然后又入门又放弃又入门

    入门到第一次中断 去年的工作太忙,工作知识涉及面又广,大量学习的是管理经验,以及半导体检测设备现场故障处 理.下了班每天学一个小时软件,几个月过后,学习了有一百个小时.就没有然后了. 正如一切自学那样 ...

  6. Java笔记-使用Kaptcha验证码框架

    使用Kaptcha这个验证码框架用起来,比自己写简单 首先设置maven项目: <dependency><groupId>com.github.penggle</grou ...

  7. 《Java从入门到放弃》入门篇:hibernate查询——HQL

    不知不觉又到了hibernate的最后一篇了,只感觉时光飞逝~,岁月如梭~! 转眼之间,我们就···························,好吧,想装个X,结果装不下去了,还是直接开始吧· ...

  8. Java新手教程从入门到放弃从入门到精通(3)

    运算 关系运算 布尔类型   接着上一篇继续讲布尔类型,下面创建两个布尔类型的变量并输出看下结果: public static void main(String[] args) {boolean bo ...

  9. Python爬虫从入门到放弃(十二)之 Scrapy框架的架构和原理

    原文地址https://www.cnblogs.com/zhaof/p/7173397.html 这一篇文章主要是为了对scrapy框架的工作流程以及各个组件功能的介绍 Scrapy目前已经可以很好的 ...

最新文章

  1. 基于继承类的属性模版中无法绑定的原因和解决方法
  2. 5、Power Map—实例:填充地图
  3. Spring JdbcTemplate快速入门
  4. VTK:可视化之AssignCellColorsFromLUT
  5. 浏览器播放rtsp视频流方案(ffmpeg + nginx转m3u8)
  6. atitit。获取表格的字段注释metadata的原理以及AND 字段表格描述文档方案
  7. linux 错误信息 输出到管道,linux grep通过管道输出到head出现write error: Broken pipe错误...
  8. mysql sql_log_bin怎么看_MySQL数据库之开启和查看mysql的bin-log日志
  9. Office365 PowerShell打开邮箱审计功能
  10. [android] 切换界面的通用处理
  11. oracle 字符串等于,ORACLE in (字符串,字符串,字符串)
  12. gin框架-1请求参数的示例:
  13. Java学习笔记之设计模式(3)抽象工厂模式
  14. 一份优秀的前端开发工程师简历是怎样的?
  15. JQuary(从原生js到jq,就发现jq好简单)
  16. Python爬虫汉字乱码问题
  17. 牛客网暑期ACM多校训练营(第八场)
  18. 【强化学习】Q-Learning原理及代码实现
  19. 你了解常见电子原件的识别吗?
  20. Visual Studio 安装VSN插件

热门文章

  1. java代码混淆(使用 ProGuard 工具)
  2. 【软件工程】需求分析
  3. CS61B学习笔记——proj2 gitlet的实现
  4. VL19-使用38译码器实现逻辑函数!L=(~A)·C+A·B
  5. java script error_JavasScript 简单错误总结 错误调试
  6. 2022-12-19 个人便签1:RS CMW官方相关手册网址便签
  7. 如何获取管理员权限,修改文件
  8. 2022年最好用的五款设备管理软件
  9. 微软为什么能在中国所向披靡 雁鸣
  10. Linux安装maven(详细教程)