holyya.com
2026-01-18 04:46:11 Sunday
登录
文章检索 我的文章 写文章
Java登录验证码代码实现
2023-06-16 10:04:19 深夜i     --     --

在Web开发中,为了增加用户登录的安全性,常常会在登录页面中添加验证码的功能。本文将介绍如何使用Java编写验证码的代码。

首先,我们需要创建一个Servlet类或JSP页面来生成验证码。以下是生成验证码的代码:


public void doGet(HttpServletRequest request, HttpServletResponse response) {

  String code = generateCode(); // 随机生成验证码

  HttpSession session = request.getSession();

  session.setAttribute("code", code); // 将验证码保存在Session中

  ByteArrayOutputStream output = new ByteArrayOutputStream();

  ImageIO.write(getImage(code), "JPEG", output); // 将验证码图片输出到页面

  try {

    OutputStream out = response.getOutputStream();

    out.write(output.toByteArray());

    out.close();

  } catch (IOException e) {

    e.printStackTrace();

  }

}

private String generateCode() {

  String code = "";

  for (int i = 0; i < 4; i++) {

    code += (int) (Math.random() * 10);

  }

  return code;

}

private BufferedImage getImage(String code) {

  BufferedImage image = new BufferedImage(80, 30, BufferedImage.TYPE_INT_RGB);

  Graphics2D g = (Graphics2D) image.getGraphics();

  g.setColor(Color.WHITE);

  g.fillRect(0, 0, 80, 30);

  g.setColor(Color.BLACK);

  g.setFont(new Font("Arial", Font.BOLD, 20));

  g.drawString(code, 20, 20);

  g.dispose();

  return image;

}

以上代码会生成一个4位数字的验证码,并将验证码保存在Session中并输出到页面。

接下来,在登录页面中添加验证码输入框和图片即可。在用户提交登录表单时,验证用户输入的验证码是否和Session中保存的一致即可实现验证码的功能。

本文介绍了如何使用Java编写验证码的代码,在Web开发中可以增加用户登录的安全性。本文中的关键词有:Java、验证码、Web开发。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复