zoukankan      html  css  js  c++  java
  • Java生成验证码(二)

    前一篇博客已经介绍了如何用Java servlet产生验证码,本篇继续介绍如何使用一些开源组件生成验证码
    ————————————————————————————————————————————
     
    使用开源组件实现验证码
        Jcaptcha:一个用来生成图像验证码的Java开源组件,使用起来也是非常的方便简单。与Spring组合使用,可产生多种形式的验证码。
        Kaptcha:一个非常使用的验证码生成工具,有了它,你可以生成各种样式的验证码,因为它是可配置的。
     
        使用Jcaptcha组件实现验证码
            下载jcaptcha-integration-simple-servlet-sampler.war
     
            使用配置web.xml:   
    <servlet>
        <servlet-name>jcaptcha</servlet-name>
        <servlet-class>com.octo.captcha.module.servlet.image.SimpleImageCaptchaServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>jcaptcha</servlet-name>
        <url-pattern>/jcaptcha.jpg</url-pattern>   
    </servlet-mapping>
               
               验证验证码是否输入正确:SimpleImageCaptchaServlet.validateResponse(request, userCaptcha);
     
     
          使用Kaptcha组件实现验证码
                下载kaptcha-2.3.jar
                
                使用配置web.xml:
    <servlet>
        <servlet-name>Kaptcha</servlet-name>
        <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
    </servlet>            
    <servlet-mapping>
        <servlet-name>Kaptcha</servlet-name>
        <url-pattern>/randomcode.jpg</url-pattern>   
    </servlet-mapping>
                验证验证码是否输入正确:session.getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);   
     
                Kaptcha的详细属性配置web.xml:
                   
    <init-param>
                        <description>图片边框,合法值:yes,no</description>
                        <param-name>kaptcha.border</param-name>
                        <param-value>yes</param-value>
                    </init-param>
                   <init-param>
                        <description>边框颜色,合法值:white, black, blue等</description>
                        <param-name>kaptcha.border.color</param-name>
                        <param-value>black</param-value>
                    </init-param>                
                    <init-param>
                        <description>边框厚度,合法值:>0 </description>
                        <param-name>kaptcha.border.thickness</param-name>
                        <param-value>1</param-value>
                    </init-param>
                     <init-param>
                        <description>图片宽度 </description>
                        <param-name>kaptcha.image.width</param-name>
                        <param-value>200</param-value>
                    </init-param>
                     <init-param>
                        <description>图片实现类 </description>
                        <param-name>kaptcha.producer.impl</param-name>
                        <param-value>com.google.code.kaptcha.impl.DefaultKaptcha</param-value>
                    </init-param>
                     <init-param>
                        <description>文本实现类 </description>
                        <param-name>kaptcha.textproducer.impl</param-name>
                        <param-value>com.google.code.kaptcha.text.impl.DefaultTextCreator</param-value>
                    </init-param>
                    <init-param>
                        <description>文本集合,验证码值从此集合中获取 </description>
                        <param-name>kaptcha.textproducer.char.string</param-name>
                        <param-value>abcde2345678gfynmnpwx</param-value>
                    </init-param>
                    <init-param>
                        <description>字体,Arial, Courier </description>
                        <param-name>kaptcha.textproducer.font.names</param-name>
                        <param-value>Arial, Courier</param-value>
                    </init-param>
                    <init-param>
                        <description>干扰实现类</description>
                        <param-name>kaptcha.noise.impl</param-name>
                        <param-value>com.google.code.kaptcha.impl.DefaultNoise</param-value>
                    </init-param>
                    <init-param>
                        <description>图片样式:水纹,鱼眼,阴影</description>
                        <param-name>kaptcha.obscurificator.impl</param-name>
                        <param-value>com.google.code.kaptcha.impl.WaterRipple</param-value>
                    </init-param>
                    <init-param>
                        <description>session中存放验证码的key键</description>
                        <param-name>kaptcha.session.key</param-name>
                        <param-value>KAPTCHA_SESSION_KEY</param-value>
                    </init-param>
                中文验证码实现
                    extends Configurable implements TextProducer
                
                算式验证码的实现
                    重写KaptchaServlet类
     
    本文只是对验证码的两种开源组件如何使用作简要介绍,详细内容可参考官方文档。
  • 相关阅读:
    解决 搭建Jekins过程中 启动Tomcat的java.net.UnknownHostException异常
    射手和农场主
    java 和 JS(javaScript)中的反斜杠正则转义
    分享修改密码的SharePoint Web part: ITaCS Change Password web part
    分享微软官方Demo用的SharePoint 2010, Exchange 2010, Lync 2010虚拟机
    Office 365 的公共网站的一些限制及解决的办法
    SharePoint 2013 关闭 customErrors
    安装 KB2844286 导致SharePoint 2010 XSLT web part 显示出现错误
    安装Office Web Apps Server 2013 – KB2592525安装失败
    如何将hyper-v虚拟机转换成vmware的虚拟机- 转换SharePoint 2010 Information Worker Demonstration and Evaluation Virtual Machine (SP1)
  • 原文地址:https://www.cnblogs.com/konrad/p/6376318.html
Copyright © 2011-2022 走看看