يشارك هذا المثال معك وقت الصلاحية لمدة 5 دقائق لرمز التحقق من SMS Java للرجوع إليه. المحتوى المحدد كما يلي
قم بتنفيذ طلب لإرسال رمز التحقق من الرسائل القصيرة ، ويتطلب طلبات متكررة في غضون 5 دقائق وإرجاع رمز التحقق نفسه.
يمكن العثور على العديد من الحلول عبر الإنترنت:
على سبيل المثال ، قاعدة بيانات التخزين أو ذاكرة التخزين المؤقت. من المثير للقلق أكثر ، الاستسلام ؛
طريقة أخرى هي هذا المثال ، باستخدام تخزين الجلسة. طرق أخرى لم يتم فهمها بعد.
خطوات التنفيذ: (springMVC)
1. في وحدة التحكم ، احصل على كائن الجلسة ، واحصل على الرمز ، ولا يمكن الحصول على الجيل الجديد ، وتخزين الجلسة ؛
2. يتم الحكم على عدد إرسال رقم هاتف محمول واحد وتسجيله في قاعدة البيانات +1 ؛
3. مؤقت مؤقت ، قم بتعيين مؤشر الترابط الجديد لتأخير تنفيذ مهام TimerTask (حذف الرمز)
requestmapping (value = "sendMessage" ، method = requestMethod.get) كائن عام sendMessage (طلب httpservletrequest النهائي) {string phone = request.getParameter ("phone") ؛ int times = userservice.messagesendToday (phone) ؛ // التحقق الثاني ، يرسل رقم هاتف محمول واحد حد يومي إذا (الأوقات <= max_per_day) {String checkCode = enderAnateOmCode.createrandomNumber (6) ؛ httpsession httpsession = request.getSession () ؛ httpsession.setattribute ("CheckCode" ، checkCode) ؛ CheckCodeMessage CheckCodeMessage = CheckCodeMessage جديد (الهاتف ، CheckCode) ؛ حاول {httpsender.batchsend (checkCodeMessage) ؛ // يتم تنفيذ TimerTask لمدة 5 دقائق وحذفها من توقيت الموقت النهائي للجلسة = توقيت جديد () ؛ Timer.Schedule (New TimerTask () {Override public void run () {httpsession.removeattribute ("checkCode") ؛ system.out.println ("checkcode تم حذفه بنجاح") ؛ timer.cancel () ؛}} ، 5*1000) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } إرجاع "Redirect: /index.jsp" ؛ }}مهام توقيت التوقيت:
// يتم تنفيذ TimerTask لمدة 5 دقائق وحذفها من توقيت CheckCodeFinal Timer = جديد توقيت () 5*60*1000) ؛
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.