验证码的操作
这篇文章还是来源于GitEE,GitEE,真的是个好东西。
EasyCaptcha: Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。 (gitee.com)
EasyCaptcha
Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。
我这里直接做小演示了。详细自己看源码
引入依赖
<dependencies>
<dependency>
<groupId>com.github.whvcse</groupId>
<artifactId>easy-captcha</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
编写控制器
// 用于输出验证码图片
@RequestMapping("/captcha")
public void captcha(HttpServletRequest request, HttpServletResponse response) throws Exception {
CaptchaUtil.out(request, response);
}
可以实现的效果
每次刷新都会换一张图
画示例页面
这里使用SpringBoot的默认可以访问的页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>
验证码测试
</h1>
<form method="get" action="/catest">
输入验证码: <input type="text" name="catext" >
<img src="/captcha" width="130px" height="50px" />
<button type="submit" >提交</button>
</form>
</body>
</html>
展示页面
每次刷新更换验证码
将页面放入控制器,进行可以访问
// 用于展示页面
@RequestMapping("/cashow")
public String cashow() throws Exception {
return "showTest";
}
提交页面的控制器
// 用于输出验证码图片 结果和输入结果比较
@RequestMapping("/catest")
@ResponseBody
public String catest(@RequestParam("catext")String catext,HttpServletRequest request){
System.out.println("输入的验证码:"+catext);
HttpSession session = request.getSession();
Object captcha = session.getAttribute("captcha");
System.out.println("真正的验证码:"+captcha);
if(catext.equals(captcha)){
return "success";
}
return "error";
}
我在自己编写的时候看源码才看出来如何获取图片指定的内容
要相信自己可以的,一步一步来,我们一起进步
最终结果
当然下面的内容还有很多,比如设置验证码等。感兴趣可以自己多了解一点