利用Java实现一个验证码功能-创新互联

今天就跟大家聊聊有关利用Java实现一个验证码功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

10年专注成都网站制作,企业网站制作,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于企业网站制作,高端网页制作,对柴油发电机等多个领域,拥有多年的网站运维经验。

要导入servlet-api.jar包


创建验证码的Util工具类:

先创建图片并生成随机的验证码字母

利用Java实现一个验证码功能

设置图片的底色,并用setFont函数将验证码画在图片上,如果想让验证码难一点,可以添加for循环的代码给图片增加旋转角度

利用Java实现一个验证码功能

给验证码增加干扰线,提高安全性

利用Java实现一个验证码功能

设置边框

利用Java实现一个验证码功能

创建VerifyPic的servlet,通过Util类获取代码,并存入session中,然后输送去前端页面

利用Java实现一个验证码功能

前端页面验证码如下:

利用Java实现一个验证码功能

完整Util工具类代码如下:

package com.sport.util;

import java.awt.*;
import java.awt.image.BufferedImage;
import java.util.HashMap;
import java.util.Map;

public class VerifyUtil {
 public static Map generateVerify(){
  //创建一张图片
  BufferedImage verifyPic = new BufferedImage(120,40,BufferedImage.TYPE_3BYTE_BGR);
  //通过图片获取画笔
  Graphics2D g = verifyPic.createGraphics();
  //准备一个字母+数字的字典
  String letters = "23456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  //规定验证码的位数
  int verifyLength = 4;
  //生成随机验证码
  String verifyCode = "";
  //循环取值
  for(int i=0; i data = new HashMap();
  data.put("verifyCode", verifyCode);
  data.put("verifyPic", verifyPic);

  return data;
 }
}

分享题目:利用Java实现一个验证码功能-创新互联
地址分享:http://myzitong.com/article/dgjcji.html