最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)短信驗(yàn)證碼5分鐘有效時(shí)間

 更新時(shí)間:2020年10月11日 11:04:06   作者:kidQ  
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)短信驗(yàn)證碼5分鐘有效時(shí)間,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了java實(shí)現(xiàn)短信驗(yàn)證碼5分鐘有效時(shí)間,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)一個(gè)發(fā)送短信驗(yàn)證碼的請求,要求5分鐘之內(nèi)重復(fù)請求,返回同一個(gè)驗(yàn)證碼。

網(wǎng)上可找到幾種方案:

如,存儲數(shù)據(jù)庫或緩存中。實(shí)現(xiàn)起來比較麻煩,舍棄;
另一種方式即本例,使用session存儲。其他方式,暫未進(jìn)一步了解。

實(shí)現(xiàn)步驟: (springmvc)

1、controller中,獲取session對象,取code,取不到新生成,并存儲session中;
2、單手機(jī)號發(fā)送量,判斷并 +1 記入數(shù)據(jù)庫;
3、Timer定時(shí)器,設(shè)置新線程延時(shí)執(zhí)行TimerTask任務(wù)(刪除code)

@RequestMapping(value = "sendMessage",method = RequestMethod.GET)
public Object sendMessage(final HttpServletRequest request){
 String phone=request.getParameter("phone");
 int times=userService.messageSendToday(phone); //二次驗(yàn)證,單個(gè)手機(jī)號每日發(fā)送上限
 if(times <= MAX_PER_DAY){
  String checkCode=GenerateRandomCode.createRandomNumber(6);
  final HttpSession httpSession=request.getSession();
  httpSession.setAttribute("checkCode",checkCode);
  CheckCodeMessage checkCodeMessage=new CheckCodeMessage(phone,checkCode);
  try {
   HttpSender.batchSend(checkCodeMessage);
   //TimerTask實(shí)現(xiàn)5分鐘后從session中刪除checkCode
   final Timer timer=new Timer();
   timer.schedule(new TimerTask() {
    @Override
    public void run() {
     httpSession.removeAttribute("checkCode");
     System.out.println("checkCode刪除成功");
     timer.cancel();
    }
   },5*60*1000);
  } catch (Exception e) {
   e.printStackTrace();
  }
  return "redirect:/index.jsp";
 }
}

Timer定時(shí)任務(wù):

//TimerTask實(shí)現(xiàn)5分鐘后從session中刪除checkCode
final Timer timer=new Timer();
timer.schedule(new TimerTask() {
 @Override
 public void run() {
  httpSession.removeAttribute("checkCode");
  System.out.println("checkCode刪除成功");
  timer.cancel();
 }
},5*60*1000);

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Tomcat7、Java、WebSocket的服務(wù)器推送聊天室實(shí)例

    基于Tomcat7、Java、WebSocket的服務(wù)器推送聊天室實(shí)例

    HTML5 WebSocket實(shí)現(xiàn)了服務(wù)器與瀏覽器的雙向通訊,本篇文章主要介紹了基于Tomcat7、Java、WebSocket的服務(wù)器推送聊天室實(shí)例,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2016-12-12
  • jdk8升級到j(luò)dk11如何升級的真實(shí)案例(親身經(jīng)歷)

    jdk8升級到j(luò)dk11如何升級的真實(shí)案例(親身經(jīng)歷)

    JDK11升級因G1GC性能提升及Spring?Boot?2.7+不再支持Java?8,需調(diào)整依賴和GC參數(shù),帶來內(nèi)存優(yōu)化和性能提升(如TPS增70%),并增強(qiáng)String、Files、Stream等API及新HTTP?Client
    2025-10-10
  • 最新評論

    永兴县| 基隆市| 兴城市| 东海县| 平阳县| 印江| 明水县| 莱州市| 玛纳斯县| 通海县| 凤凰县| 哈密市| 临泉县| 筠连县| 平安县| 清流县| 博乐市| 客服| 高淳县| 永清县| 祁东县| 泰兴市| 仪陇县| 河南省| 哈密市| 新兴县| 碌曲县| 廉江市| 汝南县| 资中县| 隆安县| 柳河县| 鸡东县| 介休市| 马龙县| 含山县| 称多县| 鱼台县| 塔河县| 普格县| 云安县|