<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Happy Captcha簡易驗證碼

          聯(lián)合創(chuàng)作 · 2023-09-24 04:26

          Happy Captcha是一款易于使用的Java驗證碼軟件包,旨在花最短的時間,最少的代碼量,實現(xiàn)Web站點的驗證碼功能。Happy Captcha完全遵循Apache 2.0開源許可協(xié)議,你可以自由使用該軟件,如您在使用Happy Captcha時發(fā)現(xiàn)軟件的任何缺陷,歡迎隨時與我聯(lián)系。

          Happy Capthca的源代碼已托管到Github和Gitee,你可以訪問下面的鏈接獲取更多信息:

          如果你想快速體驗Happy Captcha的功能,可通過下列方式獲取Happy-Captcha依賴:

          Maven

          <dependency>
            <groupId>com.ramostear</groupId>
            <artifactId>Happy-Captcha</artifactId>
            <version>1.0.1</version>
          </dependency>
          

          Gradle

          implementation 'com.ramostear:Happy-Captcha:1.0.1'
          

          一、展示

          Happy Captcha提供了圖片和動畫兩種展現(xiàn)形式,驗證碼內(nèi)容包括中文(收錄3500個常用漢字),阿拉伯?dāng)?shù)字(0~9),中文數(shù)字(零至九),中文大寫數(shù)字(零至玖),數(shù)字與字母混合(0~9-a~z-A~Z),數(shù)字與小寫字母混合(0~9-a~z),數(shù)字與大寫字母混合(0~9-A~Z),純小寫字母,純大寫字母,大小寫字母混合以及運(yùn)算表達(dá)式(阿拉伯?dāng)?shù)字運(yùn)算表達(dá)式和中文運(yùn)算表達(dá)式)等12種類型。

          CaptchaType IMAGE ANIMATION
          CHINESE
          NUMBER
          NUMBER_ZH_CN
          NUMBER_ZH_HK
          DEFAULT
          WORD
          WORD_LOWER
          WORD_UPPER
          WORD_NUMBER_LOWER
          WORD_NUMBER_UPPER
          ARITHMETIC
          ARITHMETIC_ZH

          二、安裝

          如果你的項目使用的是Maven進(jìn)行依賴管理,你只需向pom.xml文件添加下面的配置即可:

          <dependency>
            <groupId>com.ramostear</groupId>
            <artifactId>Happy-Captcha</artifactId>
            <version>1.0.1</version>
          </dependency>
          

          Gradle用戶則可以通過引入如下的配置獲取Happy Captcha:

          implementation 'com.ramostear:Happy-Captcha:1.0.1'
          

          三、使用

          HappyCaptcha在設(shè)計時力求過程的簡潔,在默認(rèn)情況下,你只需要書寫一行代碼即可生成漂亮的驗證碼圖片。下面是HappyCaptcha的使用示例:

          @Controller
          public class HappyCaptchaController{
              @GetMapping("/captcha")
              public void happyCaptcha(HttpServletRequest reqeust,HttpServletResponse response){
                  HappyCaptcha.require(request,response).build().finish();
              }
          }
          

          對于HappyCaptcha而言,只有request和response是必須提供的參數(shù),其余參數(shù)都可以使用缺省值。

          在默認(rèn)情況下,HappyCaptcha生成的驗證碼以圖片形式展現(xiàn),內(nèi)容為0~9-a~z-A~Z的字符隨機(jī)組合,字符長度為5,圖片寬度為160,高度為50,字體為微軟雅黑。

          四、校驗

          用戶輸入的驗證碼校驗是一個必不可少的環(huán)節(jié),HappyCaptcha內(nèi)置了對用戶輸入的驗證碼校驗功能。下面是驗證碼校驗示例:

          @Controller
          public class CaptchaController{
          
              @PostMapping("/verify")
              public String verify(String code,HttpServletRequest request){
                  //Verification Captcha
                  boolean flag = HappyCaptcha.verification(request,code,true);
                  if(flag){
                      //Other operations...
                  }
              }
          }
          

          如果在校驗過程中需要忽略字母大小寫,第三個參數(shù)設(shè)置為true,如果需要強(qiáng)校驗,則設(shè)置為false。

          五、清理

          當(dāng)驗證碼被使用后,你可以通過HappyCaptcha類種的remove()方法將Session中存放的驗證碼清理掉。下面是清理驗證碼的代碼示例:

          @Controller
          public class HappyCaptchaController{
          
              @GetMapping("/remove/captcha")
              public void removeCaptcha(HttpServletRequest request){
                   HappyCaptcha.remove(request);   
              }
          }
          

          除HappyCaptcha提供的默認(rèn)方法,你也可以在需要操作的地方,手動清理Session中存放的驗證碼,HappyCaptcha驗證碼的Key為“happy-captcha”。

          六、高級特性

          通過前面的內(nèi)容,我們已經(jīng)了解到如何快熟的安裝并使用HappyCaptcha生成驗證碼。在接下的內(nèi)容當(dāng)中,將介紹HappyCaptcha更詳細(xì)的內(nèi)容。

          6.1 style()

          HappyCaptcha提供兩種驗證碼展現(xiàn)形式:圖片和動畫。默認(rèn)的展現(xiàn)形式為圖片,可以通過style()方法修改默認(rèn)值。style()方法的值由CaptchaStyle類提供,可供選擇的值有IMG和ANIM。style()使用示例如下:

          HappyCaptcha.require(request,response)
                      .style(CaptchaStyle.ANIM)
                      .build().finish();
          

          若展現(xiàn)形式為圖片,則style(CaptchaStyle.IMG)可以省略。

          6.2 type()

          HappyCaptcha一共提供了12種驗證碼類型,你可以自由選擇其中的一種類型作為驗證碼的內(nèi)容形式。默認(rèn)情況下,驗證碼使用數(shù)字和大小寫字母的混合形式。驗證碼類型值由CaptchaType類提供,內(nèi)容如下表:

          說明
          DEFAULT 數(shù)字、大小寫字母隨機(jī)組合
          ARITHMETIC 加、減、乘算數(shù)運(yùn)算表達(dá)式
          ARITHMETIC_ZH 中文簡體加、減、乘算數(shù)運(yùn)算表達(dá)式描述
          CHINESE 常見漢字(3500個)隨機(jī)組合
          NUMBER 0~9數(shù)字隨機(jī)組合
          NUMBER_ZH_CN 中文數(shù)字(零至九)隨機(jī)組合
          NUMBER_ZH_HK 中文繁體數(shù)字(零至玖)隨機(jī)組合
          WORD 大小寫字母隨機(jī)組合
          WORD_LOWER 小寫字母隨機(jī)組合
          WORD_UPPER 大寫字母隨機(jī)組合
          WORD_NUMBER_LOWER 數(shù)字、小寫字母隨機(jī)組合
          WORD_NUMBER_UPPER 數(shù)字、大寫字母隨機(jī)組合

          type()使用示例如下:

          HappyCaptcha.require(request,response)
                      .type(CaptchaType.CHINESE)
                      .build().finish();
          

          6.3 length()

          length()方法用于設(shè)置驗證碼字符長度,默認(rèn)情況下缺省值為5。你可以通過以下方式對驗證碼字符長度進(jìn)行控制:

          HappyCaptcha.require(request,response)
                      .length(6)
                      .build().finish();
          

          6.4 width()

          width()方法可對驗證碼圖片的寬度進(jìn)行調(diào)節(jié),默認(rèn)的缺省值為160。使用方式如下:

          HappyCaptcha.require(request,response)
                      .width(180)
                      .build().finish();
          

          6.5 height()

          同width()方法一樣,height()方法用于設(shè)置驗證碼圖片的高度,默認(rèn)缺省值為50。使用方式如下:

          HappyCaptcha.require(request,response)
                      .height(60)
                      .build().finish();
          

          6.6 font()

          如果你想改變驗證碼的字體,可通過font()方法進(jìn)行設(shè)置,默認(rèn)缺省字體為微軟雅黑。HappyCaptcha內(nèi)置了四種字體,可以通過Fonts類進(jìn)行調(diào)用。

          HappyCaptcha.require(request,response)
                      .font(Fonts.getInstance().zhFont())
                      .build().finish();
          

          6.7 鏈?zhǔn)秸{(diào)用

          上面介紹了如何修改單個配置,HappyCaptcha支持鏈?zhǔn)秸{(diào)用,可同時對驗證碼的多個屬性進(jìn)行設(shè)置。例如:

          @GetMapping("/captcha")
          public void captcha(HttpServletRequest req,HttpServletResponse res){
              HappyCaptcha.require(req,res)
                          .style(CaptchaStyle.ANIM)            //設(shè)置展現(xiàn)樣式為動畫
                          .type(CaptchaType.CHINESE)            //設(shè)置驗證碼內(nèi)容為漢字
                          .length(6)                            //設(shè)置字符長度為6
                          .width(220)                            //設(shè)置動畫寬度為220
                          .height(80)                            //設(shè)置動畫高度為80
                          .font(Fonts.getInstance().zhFont())    //設(shè)置漢字的字體
                          .build().finish();                  //生成并輸出驗證碼
          }
          

          若驗證碼的類型為ARITHMETIC或ARITHMETIC_ZH,可省略驗證碼長度的設(shè)置。算術(shù)運(yùn)算表達(dá)式的長度為5。

          瀏覽 28
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  xxxxx免费视频 | 国产三级片网站 | 波多野结衣av在线免费观看 | 国产精品久久久久久久久动漫 | 日日夜夜人人人 |