【验证码Kaptcha之实例】

一、配置Maven坐标

<!-- https://mvnrepository.com/artifact/com.github.penggle/kaptcha -->

<dependency>

    <groupId>com.github.penggle</groupId>

    <artifactId>kaptcha</artifactId>

    <version>2.3.2</version>

</dependency>

 

二、配置Web.xml

 <!-- 配置验证码插件servlet类 -->

  <servlet>

    <servlet-name>kaptcha</servlet-name>

    <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>

  <!-- 给验证码插件servlet类配置参数 -->

    <!-- 边框设置 yes  no -->

    <init-param>

      <param-name>kaptcha.border</param-name>

      <param-value>no</param-value>

    </init-param>

    <!-- 边框颜色 颜色名称 例如:red blue black等 也可以是 RGB:105,179,90 -->

    <init-param>

      <param-name>kaptcha.border.color</param-name>

      <param-value>red</param-value>

    </init-param>

    <!-- 边框宽度 -->

    <init-param>

      <param-name>kaptcha.border.thickness</param-name>

      <param-value>5</param-value>

    </init-param>

    <!-- 产生验证码的字符源头 兼容中文的 -->

    <init-param>

      <param-name>kaptcha.textproducer.char.string</param-name>

      <param-value>1234567890产生验证码的字符源头</param-value>

    </init-param>

    <!-- 生成结果的字符个数 -->

    <init-param>

      <param-name>kaptcha.textproducer.char.length</param-name>

      <param-value>5</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.textproducer.font.size</param-name>

      <param-value>40</param-value>

    </init-param>

    <!-- 生成结果的字符 颜色 -->

    <init-param>

      <param-name>kaptcha.textproducer.font.color</param-name>

      <param-value>blue</param-value>

    </init-param>

    <!-- 生成结果的字符 字间距 -->

    <init-param>

      <param-name>kaptcha.textproducer.char.space</param-name>

      <param-value>2</param-value>

    </init-param>

    <!-- 干扰线 生成器 -->

    <init-param>

      <param-name>kaptcha.noise.impl</param-name>

      <param-value>com.google.code.kaptcha.impl.DefaultNoise</param-value>

    </init-param>

    <!-- 干扰线 颜色 -->

    <init-param>

      <param-name>kaptcha.noise.color</param-name>

      <param-value>BLACK</param-value>

    </init-param>

    <!-- 干扰线 背景渐变颜色  从左侧向右渐变  -->

    <init-param>

      <param-name>kaptcha.background.clear.from</param-name>

      <param-value>green</param-value>

    </init-param>

    <!-- 干扰线 背景渐变颜色  从右侧向左渐变  -->

    <init-param>

      <param-name>kaptcha.background.clear.to</param-name>

      <param-value>yellow</param-value>

    </init-param>

    <!-- 验证码图片宽度 -->

    <init-param>

      <param-name>kaptcha.image.width</param-name>

      <param-value>200</param-value>

    </init-param>

    <!-- 验证码图片高度 -->

    <init-param>

      <param-name>kaptcha.image.height</param-name>

      <param-value>50</param-value>

    </init-param>

  </servlet>

  <!-- 验证码请求名  映射

  

  //从session中取服务器中的验证码

        String kaptchaServer = (String)request.getSession().getAttribute

       (com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);

  

   -->

  <servlet-mapping>

    <servlet-name>kaptcha</servlet-name>

    <url-pattern>/mykaptcha</url-pattern>

  </servlet-mapping>

 

三、编写jsp页面


 

四、验证


 

五、错误解决方案

严重: Servlet.service() for servlet jsp threw exception

java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"



 

<!-- 添加Servlet -->  

    <dependency>    

        <groupId>javax.servlet</groupId>    

        <artifactId>servlet-api</artifactId>    

        <version>2.5</version>    

          </dependency>

替换为

<!-- 添加Servlet -->  

    <dependency>

        <groupId>javax.servlet</groupId>

        <artifactId>javax.servlet-api</artifactId>

        <version>3.1.0</version>

        <scope>provided</scope>

    </dependency>



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值