博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java代码生成随机验证码
阅读量:3947 次
发布时间:2019-05-24

本文共 1608 字,大约阅读时间需要 5 分钟。

1.  新建一个controller

@Controller@RequestMapping("/index")public class LoginController {
@RequestMapping("/logins") public void login(HttpServletRequest request, HttpServletResponse response) throws IOException {
int width=100; int height=50; //创建一个对象,在内存中图片(验证码图片对象) BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //美化图片 //填充背景色 Graphics graphics = image.getGraphics(); graphics.setColor(Color.green); Font font = new Font("黑体",Font.PLAIN,20); graphics.setFont(font); graphics.fillRect(0,0,width,height); //画边框 graphics.setColor(Color.black); graphics.drawRect(0,0,width-1,height-1); String str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; Random random = new Random(); for (int i = 0; i < 4; i++) {
int index = random.nextInt(str.length()); //随机字符 char charAt = str.charAt(index); //写验证码 graphics.drawString(charAt+"",width/5*i,height/2); } //画干扰线 graphics.setColor(Color.GREEN); //随机生成坐标点 for (int i = 0; i < 10; i++) {
int x1=random.nextInt(width); int x2= random.nextInt(width); int y1=random.nextInt(height); int y2=random.nextInt(height); graphics.drawLine(x1,y1,x2,y2); //将图片输出到页面上 ImageIO.write(image,"jpg",response.getOutputStream()); } }}

2.在resources/static目录下新建一个html文件

  
登录
用户名
密码
验证码

3.此项目的端口为8084,所以访问地址http://localhost:8084/login.html

在这里插入图片描述

转载地址:http://jnhwi.baihongyu.com/

你可能感兴趣的文章
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
一文看清HBase的使用场景
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>
慢慢欣赏linux 内核模块引用
查看>>
kprobe学习
查看>>
慢慢欣赏linux phy驱动初始化2
查看>>
慢慢欣赏linux CPU占用率学习
查看>>
2020年终总结
查看>>
Homebrew指令集
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>
JSX使用总结
查看>>
React Native(四):布局(使用Flexbox)
查看>>
React Native(七):Android双击Back键退出应用
查看>>