您当前的位置: 首页 >  Java

liaowenxiong

暂无认证

  • 2浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

生成验证码图片的Java代码

liaowenxiong 发布时间:2020-09-04 22:03:46 ,浏览量:2

文章目录
  • 验证码演示代码
  • 请求资源路径为什么要添加一个随机数的参数

验证码演示代码
package priv.lwx.javaex.servlet_demo.web.servlet.response;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

/**
 * 验证码示例代码
 *
 * @author liaowenxiong
 * @date 2022/1/10 11:01
 */
@WebServlet("/check_code")
public class CheckCodeServlet extends HttpServlet {
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    this.doPost(req, resp);
  }

  @Override
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    int width = 100; // 表示图片的宽度,单位像素
    int height = 50; // 表示图片的高度,单位像素
    // 1.创建一个图片对象,代表内存中的验证码图片。图片对象创建好之后,就表示在内存中创建了一个图片(内存中存储的是二进制数据),图片背景色默认黑色
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
    // 2.美化图片
    // 2.1.填充背景色
    // 先获取画笔
    Graphics graphics = image.getGraphics();
    // 设置画笔的颜色为粉红色
    graphics.setColor(Color.PINK);
    // 填充矩形
    graphics.fillRect(0, 0, width, height);
    // 2.2.画边框
    // 设置画笔的颜色为蓝色
    graphics.setColor(Color.BLUE);
    // 画边框
    graphics.drawRect(0, 0, -1, height - 1);
    // 画随机字符
    // 随机字符的来源
    String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    // 创建随机数对象
    Random ran = new Random();
    // 2.3.画随机字符。循环四次,画4个随机的字符
    for (int i = 1; i 


    
    注册界面
    
        window.onload = function () {
            var img = document.getElementById("checkCode");
            var link = document.getElementById("changeCode");
            // 给图片元素注册点击事件监听器
            img.onclick = function () {
            	var date = new Date().getTime();
                img.src = "/servlet_demo/check_code?" + date;
            }

           // 给超链接注册点击事件监听器
            link.onclick = function () {
                var date = new Date().getTime();
                img.src = "/servlet_demo/check_code?" + date;
            }
        }
    



    
    
    
    看不清楚换一张?
    




关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0447s