web获取动态验证码(Kaptcha)
最近在做的一个项目中遇到了输入动态验证码的问题,起初在网上也搜到一些代码,但是感觉都不是想要的那种,在web开发中,动态验证码需要显示在jsp页面中,然后在输入框中写入显示的东西,判断正确与否。这里只是做一些简单的分享。
在你的web项目中的lib目录下,复制kaptcha-2.3.2.jar这个jar包(这个jar包主要就是封装了获取这样的一个动态方法)接下来,在web文件中配置:
<<FONT color=#ed1c24>servlet>
Kaptcha
com.google.code.kaptcha.servlet.KaptchaServlet
Kaptcha
/kaptcha.jpg
然后在jsp页面中在要显示验证码的地方写入img
src="kaptcha.jpg",这样就可以在页面上面显示动态验证码了,当然这样是不够的,光显示还是不行,需要判断输入的是否正确,这个还要写相应的action类,用来处理输入的是否正确。在action中写入:
//加载这个jar包 变量C就为页面产生的验证码的字段
String c=(String) ActionContext.getContext().getSession().get(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
//c变量为显示的验证码,kaptchafield为你输入的验证码。
if (c != null
&& kaptchafield != null) {
if (c.equals(kaptchafield))
{
//这里的checkYzm为int类型,主要作用就是在jsp页面中,需要异步判断输入的验证码是都正确,这个变量就是用在页面的ajax代码中。当为1的时候证明输入的正确,在页面的ajax代码中就用obj.checkYzm来取得变量,来显示相应的提示。
checkYzm=1;
System.out.println("checkYzm="+checkYzm);
} else {
checkYzm=0;
}
}
这个值得说明的就是ajax代码,如果写过ajax代码,相信这个大致流程就ok了。具体的就这样,主要核心就是获取验证码,和在后台中如何获得验证码,显示动态码,和如何配置(红色部分),这些ok了,剩下的判断这些问题就看个人爱好,怎么写了,当然我比较偏向于ajax代码,呵呵。如果需要这个jar包,网上可以下载。或者直接Q我。O(∩_∩)O~