欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年04月19日 09:29:15   作者:alee_方  
本篇文章主要介紹了spring mvc 使用kaptcha生成驗(yàn)證碼實(shí)例,詳細(xì)的介紹了使用Kaptcha 生成驗(yàn)證碼的步驟,有興趣的可以了解一下

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

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 style="height: 1px"></div>
  <img src="${pageContext.request.contextPath}/getVerifyCodeImage" id="verifyCodeImage" style="margin-bottom: -3px" /> 
  <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)證碼文本字符長(zhǎng)度  默認(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)生成對(duì)象  默認(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  

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解SpringBoot注入數(shù)據(jù)的方式

    詳解SpringBoot注入數(shù)據(jù)的方式

    這篇文章主要介紹了詳解SpringBoot注入數(shù)據(jù)的方式,詳細(xì)的介紹了幾種注入方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • Java語言實(shí)現(xiàn)最大堆代碼示例

    Java語言實(shí)現(xiàn)最大堆代碼示例

    這篇文章主要介紹了Java語言實(shí)現(xiàn)最大堆代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-12-12
  • redisson.tryLock()參數(shù)的使用及理解

    redisson.tryLock()參數(shù)的使用及理解

    這篇文章主要介紹了redisson.tryLock()參數(shù)的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • sentinel流量控制框架(目錄設(shè)置)

    sentinel流量控制框架(目錄設(shè)置)

    Sentinel?是面向分布式服務(wù)架構(gòu)的高可用流量防護(hù)組件幫助開發(fā)者保障微服務(wù)的穩(wěn)定性,本文重點(diǎn)給大家介紹sentinel流量控制框架的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2022-03-03
  • 淺談java線程中生產(chǎn)者與消費(fèi)者的問題

    淺談java線程中生產(chǎn)者與消費(fèi)者的問題

    下面小編就為大家?guī)硪黄獪\談java線程中生產(chǎn)者與消費(fèi)者的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-07-07
  • Java設(shè)置Access-Control-Allow-Origin允許多域名訪問的實(shí)現(xiàn)方法

    Java設(shè)置Access-Control-Allow-Origin允許多域名訪問的實(shí)現(xiàn)方法

    這篇文章主要介紹了Java設(shè)置Access-Control-Allow-Origin允許多域名訪問的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • jvm類加載器基礎(chǔ)解析

    jvm類加載器基礎(chǔ)解析

    這篇文章主要介紹了jvm類加載器基礎(chǔ)解析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • 關(guān)于Guava緩存詳解及使用說明

    關(guān)于Guava緩存詳解及使用說明

    這篇文章主要介紹了關(guān)于Guava緩存詳解及使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • springboot下ueditor上傳功能的實(shí)現(xiàn)及遇到的問題

    springboot下ueditor上傳功能的實(shí)現(xiàn)及遇到的問題

    這篇文章主要介紹了springboot下ueditor上傳功能的實(shí)現(xiàn)及遇到的問題,本文分步驟通過實(shí)例截圖給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java使用原型模式展現(xiàn)每日生活應(yīng)用案例詳解

    Java使用原型模式展現(xiàn)每日生活應(yīng)用案例詳解

    這篇文章主要介紹了Java使用原型模式展現(xiàn)每日生活應(yīng)用案例,較為詳細(xì)的分析了原型模式的概念、原理及Java使用原型模式展現(xiàn)每日生活案例的相關(guān)操作步驟與注意事項(xiàng),需要的朋友可以參考下
    2018-05-05

最新評(píng)論