成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

springmvc使用kaptcha配置生成驗(yàn)證碼實(shí)例

使用Kaptcha 生成驗(yàn)證碼十分簡單并且參數(shù)可以進(jìn)行自定義,以下簡單記錄下使用步驟。

石阡ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

1.在pom.xml中添加maven依賴:

<dependency>
  <groupId>com.google.code.kaptcha</groupId>
  <artifactId>kaptcha</artifactId>
  <version>2.3</version>
  <classifier>jdk15</classifier>
</dependency>

2.web.xml中配置kaptcha屬性:

<bean id="verifyCodeProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha">
    <property name="config">
      <bean class="com.google.code.kaptcha.util.Config">
        <constructor-arg>
          <props>
            <prop key="kaptcha.border">yes</prop>
            <prop key="kaptcha.border.color">105,179,90</prop>
            <prop key="kaptcha.border.thickness">1</prop>

            <prop key="kaptcha.noise.color">blue</prop>

            <prop key="kaptcha.image.width">150</prop>
            <prop key="kaptcha.image.height">50</prop>

            <prop key="kaptcha.session.key">verifyCode</prop>

            <!-- <prop key="kaptcha.textproducer.char.string">0123456789abcdefghijklmnopqrst!@#$%^*</prop> -->
            <prop key="kaptcha.textproducer.char.length">4</prop>
            <prop key="kaptcha.textproducer.char.space">4</prop>


            <prop key="kaptcha.textproducer.font.size">30</prop>
            <prop key="kaptcha.textproducer.font.color">blue</prop>

          </props>
        </constructor-arg>
      </bean>
    </property>
  </bean>

其中bean節(jié)點(diǎn)的id值 verifyCodeProducer 為在類中引用@Resource生成實(shí)例時(shí)的名稱;屬性配置中 kaptcha.session.key 的值為在session中存取名稱。

在servlet節(jié)點(diǎn)中配置

3.controller類中的相關(guān)方法:

@Controller
public class CommonController {

  @Autowired
  private Producer verifyCodeProducer;

  @RequestMapping(path = "/getVerifyCodeImage", method = RequestMethod.GET)
  public void getVerifyCodeImage(HttpServletRequest request, HttpServletResponse response) {
    HttpSession session = request.getSession();

    ResponseUtils.noCache(response);
    response.setContentType("image/jpeg");

    String capText = verifyCodeProducer.createText();
    session.setAttribute(Constants.SESSION_KEY_VERIFY_CODE, capText);

    BufferedImage bi = verifyCodeProducer.createImage(capText);
    ServletOutputStream out = null;
    try {
      out = response.getOutputStream();
      ImageIO.write(bi, "jpg", out);
      out.flush();
    } catch (Exception ex) {
      LOGGER.error("Failed to produce the verify code image: ", ex);
      throw new ServerInternalException("Cannot produce the verify code image.");
    } finally {
      IOUtils.closeQuietly(out);
    }
  }
}

Constants.SESSION_KEY_VERIFY_CODE為屬性配置中 kaptcha.session.key 的值。

4.jsp:

<div class="form-group has-feedback">
  <span class="glyphicon glyphicon-barcode form-control-feedback"></span> 
  <input id="verifyCode" name="verifyCode" type="text" maxlength="4" class="form-control" placeholder="<spring:message code='login.label.code' />" />
  <div ></div>
  <img src="${pageContext.request.contextPath}/getVerifyCodeImage" id="verifyCodeImage"  /> 
  <a href="#" rel="external nofollow" onclick="changeVerifyCode()"><spring:message code='login.code.tip' /></a>
</div>
function changeVerifyCode() {
  $('#verifyCodeImage').hide().attr('src', '${pageContext.request.contextPath}/getVerifyCodeImage?' + Math.floor(Math.random()*100) ).fadeIn(); 
  event.cancelBubble=true; 
}

5.kaptcha屬性說明:

  1. kaptcha.border.color   邊框顏色   默認(rèn)為Color.BLACK 
  2. kaptcha.border.thickness  邊框粗細(xì)度  默認(rèn)為1 
  3. kaptcha.producer.impl   驗(yàn)證碼生成器  默認(rèn)為DefaultKaptcha 
  4. kaptcha.textproducer.impl   驗(yàn)證碼文本生成器  默認(rèn)為DefaultTextCreator 
  5. kaptcha.textproducer.char.string   驗(yàn)證碼文本字符內(nèi)容范圍  默認(rèn)為abcde2345678gfynmnpwx 
  6. kaptcha.textproducer.char.length   驗(yàn)證碼文本字符長度  默認(rèn)為5 
  7. kaptcha.textproducer.font.names    驗(yàn)證碼文本字體樣式  默認(rèn)為new Font("Arial", 1, fontSize), new Font("Courier", 1, fontSize) 
  8. kaptcha.textproducer.font.size   驗(yàn)證碼文本字符大小  默認(rèn)為40 
  9. kaptcha.textproducer.font.color  驗(yàn)證碼文本字符顏色  默認(rèn)為Color.BLACK 
  10. kaptcha.textproducer.char.space  驗(yàn)證碼文本字符間距  默認(rèn)為2 
  11. kaptcha.noise.impl    驗(yàn)證碼噪點(diǎn)生成對象  默認(rèn)為DefaultNoise 
  12. kaptcha.noise.color   驗(yàn)證碼噪點(diǎn)顏色   默認(rèn)為Color.BLACK 
  13. kaptcha.obscurificator.impl   驗(yàn)證碼樣式引擎  默認(rèn)為WaterRipple 
  14. kaptcha.word.impl   驗(yàn)證碼文本字符渲染   默認(rèn)為DefaultWordRenderer 
  15. kaptcha.background.impl   驗(yàn)證碼背景生成器   默認(rèn)為DefaultBackground 
  16. kaptcha.background.clear.from   驗(yàn)證碼背景顏色漸進(jìn)   默認(rèn)為Color.LIGHT_GRAY 
  17. kaptcha.background.clear.to   驗(yàn)證碼背景顏色漸進(jìn)   默認(rèn)為Color.WHITE 
  18. kaptcha.image.width   驗(yàn)證碼圖片寬度  默認(rèn)為200 
  19. kaptcha.image.height  驗(yàn)證碼圖片高度  默認(rèn)為50  

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

標(biāo)題名稱:springmvc使用kaptcha配置生成驗(yàn)證碼實(shí)例
當(dāng)前地址:http://jinyejixie.com/article32/pggesc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、品牌網(wǎng)站設(shè)計(jì)域名注冊、App設(shè)計(jì)移動(dòng)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
郑州市| 收藏| 云阳县| 阿拉善左旗| 东兰县| 灵寿县| 西畴县| 介休市| 黑山县| 明水县| 嘉禾县| 措勤县| 庆阳市| 互助| 临漳县| 石城县| 虞城县| 利津县| 如皋市| 高雄县| 安龙县| 津市市| 衢州市| 桦南县| 广元市| 昌图县| 广汉市| 阿克苏市| 南充市| 沙雅县| 吉水县| 和平区| 大余县| 湛江市| 扶绥县| 丁青县| 宝坻区| 卢龙县| 磴口县| 徐水县| 高邑县|