CAPTCHA--验证码
验证码开发有两种方法:
1.自己用代码画一个
2.调用ValidateCode.jar工具包
第一种方式:
创建一个动态web工程
编写一个Servlet,在该Servlet内进行如下操作
验证码开发步骤:
1.在内存中创建一个图片对象

1 int width = 110; 2 int height = 25; 3 // 在内存中创建一个图片对象 4 BufferedImage img = new BufferedImage(width, height, 5 BufferedImage.TYPE_INT_RGB);
2.创建一个画笔
1 //创建一个画笔 2 Graphics g=img.getGraphics();
3.给图片添加背景颜色
1 //给图片添加背景色 2 g.setColor(Color.PINK); 3 g.fillRect(1, 1, width-2, height-2);
4.给图片边框一个颜色
1 //给边框一个颜色 2 g.setColor(Color.RED); 3 g.drawRect(0, 0, width-1, height-1);
5.设置文本样式
1 //设置文本样式 2 g.setColor(Color.BLUE); 3 g.setFont(new Font("宋体", Font.BOLD|Font.ITALIC, 13));
6.添加文本内容
1 //添加文本内容 2 Random r = new Random(); 3 int position =20; 4 for(int i=0;i<4;i++){ 5 g.drawString(r.nextInt(9)+" ", position, 20); 6 position+=20; 7 }
7.绘制干扰线
1 //绘制干扰线(循环九条干扰线) 2 for(int i=0;i<9;i++){ 3 g.drawLine(r.nextInt(width), r.nextInt(height), r.nextInt(width), r.nextInt(height)); 4 }
8.将图片以流的方式输出客户端
1 //将图片以流的方式输出客户端 2 ImageIO.write(img, "jpg", response.getOutputStream());
第二种方式:
直接使用工具包即可。
1 //width:宽度 2 //height:高度 3 //codeCount:验证码个数 4 //lineCount:干扰线数量 5 ValidateCode vc = new ValidateCode(110, 25, 4, 9); 6 vc.write(response.getOutputStream());
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现