利用多线程实现简易的验证码发送,验证,以及倒计时。

本文介绍了如何在SSM框架下利用多线程实现手机验证码的发送、验证功能,同时解决资源消耗问题。通过创建全局的验证码对象,并使用HashMap存储每个请求的验证码,确保每个请求的独立性。详细阐述了验证码生成、倒计时的实现过程,以及验证部分的逻辑。整个过程避免了线程安全问题,已在实际项目中应用。
摘要由CSDN通过智能技术生成

因洒家在写一个项目时,必须用到手机验证码,且需要倒计时的功能,故此记录。如有不足望指教。
框架:SSM。

前言

起初是想直接封装一个类,用来装手机号码,和随机生成的验证码,然后在Controller中的方法中调用。但是这个样子对资源的消耗不是最好的结局方案。于是就想着将这个封装的对象成为Controller中的全局变量,因为SpringMVC是单例模式,故无论有多少个请求,都只会有一个验证码对象,但是会出现一个问题,就是下一个请求的验证码会直接覆盖下一个。
于是就想到了用HashMap将每个对象存入。key为当前连接的请求手机号。


正文

封装类如下:

package com.shunluer.model;

public class PhoneCheck {
	private String Phone;
	private int Check;
	
	public PhoneCheck() {
		//Check = PhoneCheck.RunCheck();
	}
	

	public String getPhone() {
		return Phone;
	}
	public void setPhone(String phone) {
		Phone = phone;
		this.Check=PhoneCheck.RunCheck();
		System.out.println("------验证码已生成-------");
	}
	public int getCheck() {
		return Check;
	}
	public static int RunCheck() {
		return (int) (Math.random()*9000+1000);
	}
	
	
}

cont

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值