一.kaptcha框架的环境准备

  • 首先在maven中加入依赖或者导入jar包

    1
    2
    3
    4
    5
    6
    7
    8
    <!-- kaptcha -->
    <dependency>
    <groupId>com.google.code.kaptcha</groupId>
    <artifactId>kaptcha</artifactId>
    <version>2.3.2</version>
    </dependency>

    <!--若依赖失效可以去mvnrepository.com搜索kaptcha的依赖-->
  • 如果是非maven管理的项目,则直接在官网下载kaptcha的jar包,然后添加到项目lib库中,下载地址:http://code.google.com/p/kaptcha/downloads/list

  • web.xml中配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <!--关于kaptcha验证码配置-->
    <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>/kaptcha.jpg</url-pattern>
    </servlet-mapping>

二.kaptcha其他参数配置

  • 常用个性化配置参数

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30

    Constant 描述 默认值
    kaptcha.border 图片边框,合法值:yes , no yes
    kaptcha.border.color 边框颜色,合法值: r,g,b (and optional alpha) 或者 white,black,blue. black
    kaptcha.border.thickness 边框厚度,合法值:>0 1
    kaptcha.image.width 图片宽 200
    kaptcha.image.height 图片高 50
    kaptcha.producer.impl 图片实现类 com.google.code.kaptcha.impl.DefaultKaptcha
    kaptcha.textproducer.impl 文本实现类 com.google.code.kaptcha.text.impl.DefaultTextCreator
    kaptcha.textproducer.char.string 文本集合,验证码值从此集合中获取 abcde2345678gfynmnpwx
    kaptcha.textproducer.char.length 验证码长度 5
    kaptcha.textproducer.font.names 字体 Arial, Courier
    kaptcha.textproducer.font.size 字体大小 40px
    kaptcha.textproducer.font.color 字体颜色,合法值: r,g,b 或者 white,black,blue. black
    kaptcha.textproducer.char.space 文字间隔 2
    kaptcha.noise.impl 干扰实现类 com.google.code.kaptcha.impl.DefaultNoise
    kaptcha.noise.color 干扰颜色,合法值: r,g,b 或者 white,black,blue. black
    kaptcha.obscurificator.impl 图片样式:
    水纹com.google.code.kaptcha.impl.WaterRipple
    鱼眼com.google.code.kaptcha.impl.FishEyeGimpy
    阴影com.google.code.kaptcha.impl.ShadowGimpy
    com.google.code.kaptcha.impl.WaterRipple
    kaptcha.background.impl 背景实现类 com.google.code.kaptcha.impl.DefaultBackground
    kaptcha.background.clear.from 背景颜色渐变,开始颜色 light grey
    kaptcha.background.clear.to 背景颜色渐变,结束颜色 white
    kaptcha.word.impl 文字渲染器
    com.google.code.kaptcha.text.impl.DefaultWordRenderer
    kaptcha.session.key session key KAPTCHA_SESSION_KEY
    kaptcha.session.date session date KAPTCHA_SESSION_DATE

  • 配置举例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <!--关于kaptcha验证码配置-->
    <servlet>
    <servlet-name>Kaptcha</servlet-name>
    <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
    <init-param>
    <param-name>kaptcha.image.width</param-name>
    <param-value>100</param-value>
    </init-param>
    <init-param>
    <param-name>kaptcha.image.height</param-name>
    <param-value>35</param-value>
    </init-param>
    <init-param>
    <param-name>kaptcha.textproducer.char.length</param-name>
    <param-value>4</param-value>
    </init-param>
    <init-param>
    <param-name>kaptcha.textproducer.font.size</param-name>
    <param-value>25</param-value>
    </init-param>
    <!--字体-->
    <init-param>
    <param-name>kaptcha.textproducer.font.names</param-name>
    <param-value>微软雅黑</param-value>
    </init-param>
    <!--验证码样式-->
    <init-param>
    <param-name>kaptcha.noise.impl</param-name>
    <param-value>com.google.code.kaptcha.impl.NoNoise</param-value>
    </init-param>
    <!--验证码文字颜色-->
    <init-param>
    <param-name>kaptcha.textproducer.font.color</param-name>
    <param-value>black</param-value>
    </init-param>
    </servlet>

    总结:需要配置更多参数,加一对<init-param>标签即可