知识大全 使用kaptcha生成验证码

Posted 字符

篇首语:仓廪实则知礼节,衣食足则知荣辱。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用kaptcha生成验证码相关的知识,希望对你有一定的参考价值。

  kaptcha是一个简单好用的验证码生成工具 通过配置 可以自己定义验证码大小 颜色 显示的字符等等         下载kaptcha                 新建一个Web项目 并将下载压缩包中的kaptcha jar放在项目的WEB INF/lib目录下         配置web xml文件         <?xml version= encoding= UTF ?><web app version=         xmlns=         xmlns:xsi= instance         xsi:schemaLocation=         app_ _ xsd >  <display name></display name>        <! kaptcha验证码配置 >        <servlet>        <! 生成图片的Servlet >        <servlet name>Kaptcha</servlet name>        <servlet class>de 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 tlor</param name>        <param value>red</param value>        </init param>        <! 图片宽度 >        <init param>        <param name>kaptcha image width</param name>        <param value> </param value>        </init param>        <! 使用哪些字符生成验证码 >        <init param>        <param name>kaptcha textproducer char string</param name>        <param value>ACDEFHKPRSX </param value>        </init param>        <! 图片高度 >        <init param>        <param name>kaptcha image height</param name>        <param value> </param value>        </init param>        <! 字体大小 >        <init param>        <param name>kaptcha textproducer font size</param name>        <param value> </param value>        </init param>        <! 干扰线的颜色 >        <init param>        <param name>lor</param name>        <param value>black</param value>        </init param>        <! 字符个数 >        <init param>        <param name>kaptcha textproducer char length</param name>        <param value> </param value>        </init param>        <! 使用哪些字体 >        <init param>        <param name>kaptcha textproducer font names</param name>        <param value>Arial</param value>        </init param>        </servlet>        <! 映射的url >        <servlet mapping>        <servlet name>Kaptcha</servlet name>        <url pattern>/Kaptcha jpg</url pattern>        </servlet mapping>        <wele file list>        <wele file>index jsp</wele file>  </wele file list></web app>        显示验证码的页面index jsp        <%@ page language= java contentType= text/; charset=UTF         pageEncoding= UTF %><!DOCTYPE PUBLIC //W C//DTD HTML Transitional//EN ><><head><meta equiv= Content Type content= text/; charset=UTF ><title>验证码</title><script type= text/javascript >        //点击切换验证码        function changeVerifyCode(img)        img src = Kaptcha jpg? +Math floor(Math random()* )         </script></head><body>        <p>        <form action= result jsp >        <table>        <tr>        <td>        &nbsp;        </td>        <td>        <img src= Kaptcha jpg onclick= changeVerifyCode(this) style= cursor: pointer; >        </td>        </tr>        <tr>        <td>        请输入验证码         </td>        <td>        <input type= text name= verifyCode >        </td>        </tr>        <tr>        <td>        &nbsp;        </td>        <td>        <input type= submit value= 提交 >        </td>        </tr>        </table>        </form>        </body></>        运行项目 显示结果

  

   最后加上异步验证 看输入的验证码是否正确         )增加一个验证的Servlet        package cn luxh servlet;import java io IOException;import java io PrintWriter;import javax servlet ServletException;import javax servlet HttpServlet;import javax servlet HttpServletRequest;import javax servlet HttpServletResponse;public class VerifyServlet extends HttpServlet         public void doGet(HttpServletRequest request HttpServletResponse response)        throws ServletException IOException         response setContentType( text/;charaset=utf )         response setHeader( pragma no cache )         response setHeader( cache control no cache )         PrintWriter out = null;        try         //响应数据        String resultData;        //获取传过来的验证码        String verifyCode = request getParameter( verifyCode )         System out println( verifyCode +verifyCode)         if(verifyCode== )         resultData = N ;        else         //获取kaptcha生成存放在session中的验证码        String kaptchaValue = (String) request getSession() getAttribute(de kaptcha Constants KAPTCHA_SESSION_KEY)         //比较输入的验证码和实际生成的验证码是否相同        if(kaptchaValue = null || kaptchaValue = ||!verifyCode equalsIgnoreCase(kaptchaValue))         resultData = N ;        else         resultData = Y ;                        out = response getWriter()         out write(resultData)         out flush()         catch(Exception e)         e printStackTrace()         finally         if(out != null)         out close()                                         )在web xml中添加这个Servlet的配置        <! 检查验证码是否输入正确 >        <servlet>        <servlet name>VerifyServlet</servlet name>        <servlet class>cn luxh servlet VerifyServlet</servlet class>        </servlet>        <servlet mapping>        <servlet name>VerifyServlet</servlet name>        <url pattern>/VerifyServlet</url pattern>        </servlet mapping>        )页面index jsp        <%@ page language= java contentType= text/; charset=UTF         pageEncoding= UTF %><!DOCTYPE PUBLIC //W C//DTD HTML Transitional//EN ><><head><meta equiv= Content Type content= text/; charset=UTF ><title>验证码</title><script type= text/javascript src= $pagntextPath/jquery min js ></script><script type= text/javascript >        //点击切换验证码        function changeVerifyCode(img)        img src = Kaptcha jpg? +Math floor(Math random()* )                 //提交        function doSubmit()         var verifyCodeValue = $( #verifyCode ) val()         if(verifyCodeValue replace(/\\s/g ) == )         alert( 请输入验证码 )         else         //提交前先异步检查验证码是否输入正确        var = $pagntextPath/VerifyServlet?verifyCode= +verifyCodeValue;        $ ajax(        type: GET         url:         success:function(returnData)        if(returnData!= Y )         alert( 请输入正确的验证码! )         else         //验证码正确 进行提交操作        //……                        error:function(e)        alert(e)                 )                 </script></head><body>        <p>        <form action= result jsp >        <table>        <tr>        <td>        &nbsp;        </td>        <td>        <img src= Kaptcha jpg onclick= changeVerifyCode(this) style= cursor: pointer; >        </td>        </tr>        <tr>        <td>        请输入验证码         </td>        <td>        <input type= text name= verifyCode id= verifyCode >        </td>        </tr>        <tr>        <td>        &nbsp;        </td>        <td>        <input type= button value= 提交 onclick= doSubmit() >        </td>        </tr>        </table>        </form>        </body></>        )运行结果

cha138/Article/program/Java/hx/201311/27179

相关参考