Contoh ini berbagi dengan Anda waktu validitas 5 menit untuk kode verifikasi Java SMS untuk referensi Anda. Konten spesifiknya adalah sebagai berikut
Menerapkan permintaan untuk mengirim kode verifikasi SMS, membutuhkan permintaan berulang dalam waktu 5 menit dan mengembalikan kode verifikasi yang sama.
Beberapa solusi dapat ditemukan online:
Misalnya, basis data penyimpanan atau cache. Lebih merepotkan untuk diimplementasikan, menyerah;
Cara lain adalah contoh ini, menggunakan penyimpanan sesi. Metode lain belum dipahami.
Langkah Implementasi: (SpringMVC)
1. Di pengontrol, dapatkan objek sesi, dapatkan kode, dan tidak bisa mendapatkan generasi baru, dan menyimpan sesi;
2. Jumlah pengiriman nomor ponsel tunggal dinilai dan dicatat dalam database +1;
3. Timer Timer, Atur utas baru untuk menunda eksekusi tugas Timertask (Hapus Kode)
@RequestMapping (value = "sendMessage", Method = requestMethod.get) Objek publik SendMessage (permintaan httpservletRequest akhir) {string phone = request.getParameter ("telepon"); int Times = UserserService.MessageSendToday (telepon); // Verifikasi Kedua, nomor ponsel tunggal mengirimkan batas harian jika (kali <= max_per_day) {string checkCode = generaterandomcode.createrandomnumber (6); httpsession httpsession = request.getSession (); httpsession.setAttribute ("CheckCode", CheckCode); CheckCodemessage checkCodemessage = new CheckCodemessage (telepon, kode checkCode); coba {httpsender.batchsend (checkCodemessage); // Timertask diimplementasikan selama 5 menit dan dihapus dari timer final sesi = timer baru (); timer.schedule (timerKask baru () {@Override public void run () {httpsession.removeattribute ("checkCode"); System.out.println ("CheckCode dihapus berhasil"); timer.cancel ();}}, 5*60*1000); } catch (Exception e) {E.PrintStackTrace (); } return "redirect: /index.jsp"; }}Tugas Waktu Pengatur Waktu:
// TimerTask diimplementasikan selama 5 menit dan dihapus dari sesi checkCodefinal timer timer = timer baru (); timer.schedule (timerKask baru () {@Override void run () {httpsession.removeattribute ("checkCode"); System.out.out.println ("checkCode (" checkCode "); system.out.println (" checkCode ("centang (" checkCode "); system.out.println (" checkCode ("centang (" checkCode "); system.out.println (" checkCode ("checkCode (" checkCode "); system.out.println (" checkCode ("checkCode (" checkCode "); system.out.println (" checkCode ("cek 5*60*1000);Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.