注册之获取短信验证码

注册之获取短信验证码

功能:短信发送,邮件发送

所用技术:Redis,Mq,Java mail ,HttpClient,阿里大鱼

注册之获取短信验证码
一般在我们点击发送验证码的时候会有一下这三点
1:在HTML页面中我们获取手机号
2:在这之前我们要用正则去检验是否格式正确
3:然后发送Ajax到后台进行获取验证发送

注册之获取短信验证码

然后我们在后台就会接受到手机号码?
1:用随机数Random生成验证码,

随机验证码
         String code = GetRandomCodeUtil.getCode();

2:以手机号为Key,验证码为值,存入Redis中

 // 将验证码保存到redis,设置24小时失效
    redisTemplate.opsForValue().set(telephone,code, 24,TimeUnit.HOURS);

3:将手机号和验证码放入Mq中

  ActiveMQMapMessage mapMessage = new ActiveMQMapMessage();
            mapMessage.setString("telephone",telephone);
            mapMessage.setString("code",code);
            this.jmsMessagingTemplate.convertAndSend(this.queue,mapMessage);

然后我们用消费者去监听消费生成着产生的消息
1:监听同一名的消息队列

队列名字 入队数量 出队数量
xxxx 1 1

1 queue队列:一个生产者对应多个消费者,一个消息只能被消费一次;topic广播模式一个消息可以被消费多次
2:取出telephone和code

       String code= redisTemplate.opsForValue().get(telephone);

3:用阿里大鱼去发送短信

        SmsUtil.sendSms(student.getPhone(),code);

MQ的学习在下 一篇中。