Cet exemple partage avec vous le temps de validité de 5 minutes pour le code de vérification SMS Java pour votre référence. Le contenu spécifique est le suivant
Implémentez une demande pour envoyer un code de vérification SMS, nécessitant des demandes répétées dans les 5 minutes et renvoyez le même code de vérification.
Plusieurs solutions peuvent être trouvées en ligne:
Par exemple, la base de données de stockage ou le cache. Il est plus gênant à mettre en œuvre, à abandonner;
Un autre moyen est cet exemple, en utilisant le stockage de session. D'autres méthodes ne sont pas encore comprises.
Étapes de mise en œuvre: (Springmvc)
1. Dans le contrôleur, obtenez l'objet de session, obtenez le code et ne peut pas obtenir la nouvelle génération et stocker la session;
2. Le nombre d'envoi d'un seul numéro de téléphone portable est jugé et enregistré dans la base de données +1;
3. Timer de la minuterie, définissez le nouveau thread pour retarder l'exécution des tâches TIMERTASK (Delete Code)
@RequestMapping (value = "SendMessage", méthode = requestMethod.get) Objet public SendMessage (Final httpServleRequest request) {String Phone = request.getParamètre ("téléphone"); int times = userService.MessagesEndToday (téléphone); // Deuxième vérification, un seul numéro de téléphone mobile envoie une limite quotidienne if (fois <= max_per_day) {String CheckCode = GeneraRaDomCode.createrAndomNumber (6); httpSession final httpSession = request.getSession (); httpSession.setAttribute ("CheckCode", CheckCode); CheckCodeMessage CheckCodeMessage = new CheckCodeMessage (téléphone, code de contrôle); essayez {httpSender.batchSennd (checkCodeMessage); // TIMERTASK est implémenté pendant 5 minutes et supprimé du temporisateur final de la session = new Timer (); TIMER.SCHEDULE (NOUVEAU TIMERTASK () {@Override public void run () {httpSession.RemoveAtTribute ("Checkcode"); System.out.println ("Checkcode supprimé avec succès"); Timer.Cancel ();}}, 5 * 60 * 1000); } catch (exception e) {e.printStackTrace (); } return "redirect: /index.jsp"; }}Tâches de synchronisation de la minuterie:
// THIMERTASK est implémenté pendant 5 minutes et supprimé de la session CheckCodeFinal Timer Timer = new Timer (); Timer.Schedule (new Timertask () {@Override public void run () {httpSession.RemoveAtTribut ("Checkcode"); System.out.Println ("Checkcode Deleted" 5 * 60 * 1000);Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.