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/