91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

spring mvc 使用kaptcha配置生成驗證碼實例

發布時間:2020-09-06 17:26:36 來源:腳本之家 閱讀:124 作者:alee_方 欄目:編程語言

使用Kaptcha 生成驗證碼十分簡單并且參數可以進行自定義,以下簡單記錄下使用步驟。

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節點的id值 verifyCodeProducer 為在類中引用@Resource生成實例時的名稱;屬性配置中 kaptcha.session.key 的值為在session中存取名稱。

在servlet節點中配置

3.controller類中的相關方法:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

本溪| 廉江市| 息烽县| 内江市| 阳原县| 延寿县| 宁夏| 当阳市| 宜宾县| 龙山县| 全南县| 瑞安市| 将乐县| 定西市| 利津县| 泽普县| 电白县| 泾川县| 含山县| 南宁市| 麦盖提县| 界首市| 新余市| 昭平县| 自贡市| 三江| 静乐县| 南宫市| 怀来县| 南和县| 高邑县| 沧州市| 达日县| 六枝特区| 南木林县| 江达县| 安丘市| 贵港市| 姜堰市| 聂荣县| 济南市|