图片验证码-captcha

Java(CAPTCHA) 随机验证码生成:

入门:(SpringMVC)

第一步:

要手动将BotDetect Captcha库添加到类路径,请将以下三个jar文件从BotDetect Java下载包复制到应用程序的WEB-INF/lib文件夹:

  • botdetect-4.0.beta3.6.jar
  • botdetect-servlet-4.0.beta3.6.jar
  • botdetect-jsp20-4.0.beta3.6.jar

要在多个应用程序之间共享BotDetect Captcha,应将上面的这些BotDetect jar文件复制到Web容器或应用程序服务器域的“lib”目录中。

或者使用Maven(推荐)

在pom.xml中添加依赖项:

<dependency>

<groupId>com.captcha</groupId>

<artifactId>botdetect-jsp20</artfactId>

<version>选择自己要的版本</version>

</dependency>

第二步:

配置web.xml文件

<servlet>

<servlet-name>BotDetect Captcha(可自定义)</servlet-name>

<servlet-class>com.captcha.botdetect..web.servlet.CaptchaServlet</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>BotDetect Captcha(可自定义)</servlet-name>

<url-partten>/botdetectcaptcha(可自定义)<url-parttten/>

</servlet-mapping>

第三步:创建HTML文件并引入相关的元素(这里省略,图片代替,来自官网)

引入标签库:<%@ taglib prefix="botDetect"  url="https://captcha.com/java/jsp"%>

model

public class BasicExample {
    
    private String captchaCode, captchaCorrect, captchaIncorrect;

    public String getCaptchaCode() {
        return captchaCode;
    }

    public void setCaptchaCode(String captchaCode) {
        this.captchaCode = captchaCode;
    }

    public String getCaptchaCorrect() {
        return captchaCorrect;
    }

    public void setCaptchaCorrect(String captchaCorrect) {
        this.captchaCorrect = captchaCorrect;
    }

    public String getCaptchaIncorrect() {
        return captchaIncorrect;
    }

    public void setCaptchaIncorrect(String captchaIncorrect) {
        this.captchaIncorrect = captchaIncorrect;
    }

}

controller

@Controller
public class BasicController {
    
    @RequestMapping(value = "/basic", method = RequestMethod.GET)
    public ModelAndView showForm() {
        return new ModelAndView("basic");
    }
    
    @RequestMapping(value = "/validate", method = RequestMethod.POST)
    public ModelAndView onSubmit(HttpServletRequest request, 
                                @Valid @ModelAttribute("basicExample")BasicExample basicExample) 
    {
        // validate the Captcha to check we're not dealing with a bot
        SimpleCaptcha captcha = SimpleCaptcha.load(request, "basicExample");
        boolean isHuman = captcha.validate(basicExample.getCaptchaCode());
        
        if (isHuman) {
          basicExample.setCaptchaCorrect("Correct code");
          basicExample.setCaptchaIncorrect("");
        } else {
          basicExample.setCaptchaCorrect("");
          basicExample.setCaptchaIncorrect("Incorrect code");
        }

        basicExample.setCaptchaCode("");
        
        return new ModelAndView("basic", "basicExample", basicExample);
    }
        
}

参考博客:

https://blog.csdn.net/joyce_lcy/article/details/81980683

https://www.jianshu.com/p/f3bb160d8d61

案例下载: https://download.csdn.net/download/love_moon821/11271554

更多语言参考: https://captcha.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值