java圖形驗證碼實現


前言

本文首發於公眾號【我的小碗湯】本公眾號免費提供csdn下載服務,海量IT學習資源,如果你准備入IT坑,勵志成為優秀的程序猿,那么這些資源很適合你,包括但不限於java、go、python、springcloud、elk、嵌入式 、大數據、面試資料、前端 等資源。掃碼關注:

image

正文

今天來學習下圖形驗證碼的生成,首先依賴開源組件:

<dependency>
   <groupId>com.github.penggle</groupId>
   <artifactId>kaptcha</artifactId>
   <version>2.3.2</version>
</dependency>

在web.xml中配置名為Kaptcha的servlet:

<servlet>
 <!-- 生成圖片的Servlet -->
 <servlet-name>Kaptcha</servlet-name>
 <servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>

 <!-- 是否有邊框 -->
 <init-param>
   <param-name>kaptcha.border</param-name>
   <param-value>no</param-value>
 </init-param>
 <!-- 字體顏色 -->
 <init-param>
   <param-name>kaptcha.textproducer.font.color</param-name>
   <param-value>red</param-value>
 </init-param>
 <!-- 圖片寬度 -->
 <init-param>
   <param-name>kaptcha.image.width</param-name>
   <param-value>135</param-value>
 </init-param>
 <!-- 使用哪些字符生成驗證碼 -->
 <init-param>
   <param-name>kaptcha.textproducer.char.string</param-name>
   <param-value>ACDEFHKPRSTWX345679</param-value>
 </init-param>
 <!-- 圖片高度 -->
 <init-param>
   <param-name>kaptcha.image.height</param-name>
   <param-value>50</param-value>
 </init-param>
 <!-- 字體大小 -->
 <init-param>
   <param-name>kaptcha.textproducer.font.size</param-name>
   <param-value>43</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.textproducer.char.length</param-name>
   <param-value>4</param-value>
 </init-param>
 <!-- 使用哪些字體 -->
 <init-param>
   <param-name>kaptcha.textproducer.font.names</param-name>
   <param-value>Arial</param-value>
 </init-param>
</servlet>
<!-- 映射的url -->
<servlet-mapping>
 <servlet-name>Kaptcha</servlet-name>
 <url-pattern>/Kaptcha</url-pattern>
</servlet-mapping>

html中添加驗證碼標簽,並綁定javascript事件:

<!--驗證碼-->
<li class="align-top">
 <div class="item-content">
   <div class="item-inner">
     <div class="item-title label">驗證碼</div>
     <input type="text" id="j_captcha" placeholder="驗證碼">
       <div class="item-input">
         <img id="captcha_img" alt="點擊更換" title="點擊更換" src="../Kaptcha"
                                        onclick="changeVerifyCode(this)"/>
       </div>
   </div>
 </div>
</li>
<script type="text/javascript">
       function changeVerifyCode(img) {
           // alert("asssssssssss");
           img.src = "../Kaptcha?" + Math.floor(Math.random() * 100);
       };
</script>

效果圖:

image


最后,csdn資源,收集了海量學習資料,如果你准備入IT坑,勵志成為優秀的程序猿,那么這些資源很適合你,包括java、go、python、springcloud、elk、嵌入式 、大數據、面試資料、前端等資源。同時我們組建了一個技術交流群,里面有很多大佬,會不定時分享技術文章,如果你想來一起學習提高,可以關注以下公眾號后回復【2】,獲取。


我是小碗湯,我們一起學習,掃碼關注,精彩內容第一時間推給你

歡迎掃碼關注


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM