[[IT知识]] 掌握Kaptcha验证码库的使用技巧,轻松集成至项目中

[复制链接]
查看: 24|回复: 0
发表于 昨天 09:35 | 显示全部楼层 | 阅读模式
易博V9下载

掌握Kaptcha验证码库的使用技巧,轻松集成至项目中

kaptcha 是一个扩展自 simplecaptcha 的验证码库,方便我们不再写此类功能。
他的代码是谷歌托管的,可以从这里下载
工程内已经附带了示例,可以方便开发者使用。

需要的操作就是把kaptcha-2.3.2.jar增加到工程内,然后配置访问图片的Servlet:
示例中的配置是:

  1. [servlet-mapping]
  2. [servlet-name]Kaptcha[/servlet-name]
  3. [url-pattern]/Kaptcha.jpg[/url-pattern]
  4. [/servlet-mapping]
复制代码

也就是说访问Kaptcha.jpg时其实就是访问了输出验证码图片的Servlet
示例中的KaptchaExample.jsp是调用页面,这里介绍了如何验证用户输入是否和验证码符合。
但是没有如何刷新的操作,刷新其实很简单,这里稍微修改即可。
注意,必须加随机参数,否则读取缓存就不会有效果。

  1. [%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %]
  2. String path = request.getContextPath();
  3. String basePath = request.getScheme()+"://" +request.getServerName()+":" +request.getServerPort()+path+"/"
  4. [html]
  5. [head]
  6. [meta http-equiv="Content-Type" content="text/html; charset=UTF-8"]
  7. [title]Kaptcha Example[/title]
  8. [script type="text/javascript"]
  9. function refImg(){
  10. document.getElementById("Kaptcha").src="<%=basePath%>Kaptcha.jpg?data="+Math.random();
  11. }
  12. [/script]
  13. [/head]
  14. [body]
  15. [table]
  16. [tr]
  17. [td][img id="Kaptcha" src="<%=basePath%>Kaptcha.jpg" alt="掌握Kaptcha验证码库的使用技巧,轻松集成至项目中" onclick="refImg()"][/td]
  18. [td valign="top"]
  19. [form method="POST"]
  20. [br]sec code:[input type="text" name="kaptchafield"][br/]
  21. [input type="submit" name="submit"]
  22. [/form]
  23. [/td]
  24. [/tr]
  25. [/table]
  26. [br/]
  27. [%
  28. String c = (String)session.getAttribute("com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY");
  29. String parm = (String) request.getParameter("kaptchafield");
  30. out.println("Parameter: "+ parm +" ? Session Key: "+ c +" : ");
  31. if (c != null && parm != null){
  32. if (c.equals(parm)) {
  33. out.println("[b]true[/b]");
  34. } else {
  35. out.println("[b]false[/b]");
  36. }
  37. }
  38. %]
  39. [/body]
  40. [/html]
复制代码

另外修改后使用的是绝对路径,在实际开发中应该注意这个问题。
做示例时使用的是kaptcha-2.3.2,见附件。

易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表