Dieses Beispiel teilt mit Ihnen die 5-minütige Gültigkeitszeit für den Java-SMS-Verifizierungscode für Ihre Referenz. Der spezifische Inhalt ist wie folgt
Implementieren Sie eine Anfrage zum Senden eines SMS -Bestätigungscodes, wodurch wiederholte Anforderungen innerhalb von 5 Minuten erforderlich sind und denselben Bestätigungscode zurückgeben.
Mehrere Lösungen finden Sie online:
Zum Beispiel Speicherdatenbank oder Cache. Es ist schwieriger zu implementieren, aufzugeben;
Ein anderer Weg ist dieses Beispiel, wenn der Sitzungsspeicher verwendet wird. Andere Methoden werden noch nicht verstanden.
Implementierungsschritte: (SpringMVC)
1. In der Controller erhalten Sie das Sitzungsobjekt, erhalten Sie den Code und können die neue Generation nicht erhalten und die Sitzung speichern.
2. Die Anzahl des Sendens einer einzelnen Mobiltelefonnummer wird in der Datenbank +1 beurteilt und aufgezeichnet.
3. Timer -Timer stellen Sie den neuen Thread auf, um die Ausführung von TimerTask -Aufgaben zu verzögern (Code löschen).
@RequestMapping (value = "sendMessage", method = requestMethod.get) öffentliches Objekt sendMessage (endgültige httpServletRequest -Anforderung) {String telefon = request.getParameter ("Telefon"); int Times = UserService.MessagesendToday (Telefon); // Zweite Überprüfung sendet eine einzelne Mobiltelefonnummer ein tägliches Limit if (Times <= max_per_day) {String checkCode = generaterandomcode.creferandomnumber (6); endgültig httpSession httpSession = request.getSession (); httpSession.setAttribute ("checkCode", checkCode); CheckCodemessage checkCodemessage = new checkCodemessage (Telefon, checkCode); try {httpsender.batchSend (checkCodemessage); // timerTask wird 5 Minuten lang implementiert und aus der Sitzung endgültig Timer Timer = New Timer () gelöscht. Timer.Schedule (neuer TimerTask () {@Override public void run () {httpSession.removeAttribute ("checkCode"); System.out.println ("Checkcode erfolgreich gelöscht"); Timer.Cancel ();}}, 5*60*1000); } catch (Ausnahme e) {e.printstacktrace (); } return "recirect:/index.jsp"; }}Timer -Timing -Aufgaben:
// timerTask wird 5 Minuten lang implementiert und aus dem Sitzungs -CheckcodeFinal Timer Timer = new Timer (); Timer.Schedule (new timerTask () {@Override public void run () {httpSession.removeAttribute ("Checkcode"); 5*60*1000);Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.