国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - spring mvc 使用kaptcha配置生成驗證碼實例

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

2020-09-13 12:23alee_方 Java教程

本篇文章主要介紹了spring mvc 使用kaptcha生成驗證碼實例,詳細的介紹了使用Kaptcha 生成驗證碼的步驟,有興趣的可以了解一下

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

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

?
1
2
3
4
5
6
<dependency>
  <groupId>com.google.code.kaptcha</groupId>
  <artifactId>kaptcha</artifactId>
  <version>2.3</version>
  <classifier>jdk15</classifier>
</dependency>

2.web.xml中配置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
<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類中的相關方法:

?
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
@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:

?
1
2
3
4
5
6
7
<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>
?
1
2
3
4
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  

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

原文鏈接:http://blog.csdn.net/aleefang/article/details/70231335

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜影院免费 | 国产资源视频在线观看 | 欧美在线 | 亚洲 | 中文字幕在线影院 | 一级黄免费看 | 天堂精品一区二区三区 | 亚洲精品成人悠悠色影视 | 国产一区二区视频在线 | 在线观看国产精品一区 | 欧美精品一二区 | 成人欧美一区二区三区在线播放 | 天天舔夜夜操 | 亚洲精品乱码8久久久久久日本 | 日韩一区二区三区福利视频 | 国产免费99| 免费a级毛片在线看 | 日本在线黄色 | the蜜臀av入口 | 午夜精品一区二区三区免费视频 | 国产综合精品一区二区三区 | 99视频在线 | 欧美成人综合 | 168黄网 | 欧美一区久久 | 久久久久久免费毛片精品 | 久久国产精品一区二区 | 国产成人精品久久二区二区91 | 一级毛片免费 | 一区二区三区在线 | 中文字幕在线免费 | 日韩欧美在线一区 | 最新电影在线高清免费完整观看视频 | 免费福利视频一区二区三区 | 欧美视频精品 | 国产欧美日韩综合精品一区二区 | 国产精品久久久久久久 | 亚洲精品视频国产 | 91精品国产亚洲 | 玖玖在线播放 | 日韩欧美视频免费 | 亚洲精品福利 |