如何通过Kaptcha在Web页面生成验证码
kaptcha是一个扩展自simplecaptcha的验证码库,方便我们不再写此类功能。
他的代码是谷歌托管的,可以从这里下载http://code.google.com/p/kaptcha/
工程内已经附带了示例,可以方便开发者使用。
需要的操作就是把kaptcha-2.3.2.jar增加到工程内,然后配置访问图片的Servlet:
示例中的配置是:
Kaptcha /Kaptcha.jpg
也就是说访问Kaptcha.jpg时其实就是访问了输出验证码图片的Servlet。
示例中的KaptchaExample.jsp是调用页面,这里介绍了如何验证用户输入是否和验证码符合。
但是没有如何刷新的操作,刷新其实很简单,这里稍微修改即可。
注意,必须加随机参数,否则读取缓存就不会有效果。
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%> <% Stringpath=request.getContextPath(); StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %>KaptchaExample functionrefImg(){ document.getElementById("Kaptcha").src="http://dh.wk163.com<%=basePath%>Kaptcha.jpg?data="+Math.random(); }
Kaptcha.jpg"onclick="refImg()">
seccode:
<% Stringc=(String)session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY); Stringparm=(String)request.getParameter("kaptchafield"); out.println("Parameter:"+parm+"?SessionKey:"+c+":"); if(c!=null&&parm!=null){ if(c.equals(parm)){ out.println("true"); }else{ out.println("false"); } } %>
另外修改后使用的是绝对路径,在实际开发中应该注意这个问题。
做示例时使用的是kaptcha-2.3.2,见附件。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。