国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

java實現短信驗證碼5分鐘有效時間

2024-07-14 08:41:36
字體:
來源:轉載
供稿:網友

本文實例為大家分享了java實現短信驗證碼5分鐘有效時間,供大家參考,具體內容如下

實現一個發送短信驗證碼的請求,要求5分鐘之內重復請求,返回同一個驗證碼。 

網上可找到幾種方案: 

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

實現步驟: (springmvc) 

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

@RequestMapping(value = "sendMessage",method = RequestMethod.GET)public Object sendMessage(final HttpServletRequest request){  String phone=request.getParameter("phone");  int times=userService.messageSendToday(phone);  //二次驗證,單個手機號每日發送上限  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實現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定時任務:

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 尚志市| 固始县| 德化县| 万盛区| 万荣县| 东乡族自治县| 建水县| 湖北省| 镇赉县| 宜都市| 收藏| 沙洋县| 昌都县| 徐水县| 阿巴嘎旗| 民县| 河曲县| 习水县| 邓州市| 丰原市| 赫章县| 霍山县| 汉中市| 乳山市| 临潭县| 泾川县| 临沂市| 宁阳县| 安仁县| 镇巴县| 金川县| 怀化市| 济源市| 永年县| 苏尼特左旗| 彭水| 孝昌县| 秭归县| 临桂县| 湖北省| 偃师市|