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~

 

posted @ 2012-11-14 13:38  闭眼  阅读(244)  评论(0编辑  收藏  举报