Verifikasi SMS di situs web eksternal sangat diperlukan, seperti saat mendaftar, memverifikasi informasi pengguna, dll. Implementasi di SpringMVC adalah sebagai berikut:
Antarmuka SMS
Antarmuka SMS, beberapa perusahaan akan membeli antarmuka platform SMS seluler. Jika Anda seorang individu atau bisnis kecil, Anda dapat menggunakan beberapa layanan cloud. Misalnya, di toko API Baidu.
Saya menggunakan: http://apistore.baidu.com/apiworks/servicedetail/1018.html
Tentu saja, antarmuka SMS harus dibayar, dan didasarkan pada templat. Untuk instruksi spesifik, silakan lihat instruksi di situs web ini.
Antarmuka front-end
Antarmuka front-end, yang mungkin sebagai berikut, klik untuk mendapatkan kode verifikasi, dan kemudian tombol berubah menjadi abu-abu dan menghitung mundur. (Nomor ponsel adalah milik saya ~~)
Kode HTML tidak ditulis, JS adalah sebagai berikut: VerifikasiCode adalah ID tombol untuk mendapatkan kode verifikasi. Ponsel adalah ID dari nomor ponsel. Nomor ponsel hanyalah verifikasi sederhana. Jika lebih akurat, gunakan keteraturan. Sendsms dari URL adalah jalur springmvc di latar belakang.
$ ("#validationCode"). Klik (fungsi () {var phone = $ ("#phone"). val (); if ($ ("#phone"). val () && $ ("#phone"). Val (). Length == 11) {$. Ajax ({CACHE: FALSE, url: "Sendsms", Data: {{{{{false: false, "sendsms", data: {{{{{false: {false: "sendsms", {{{{cache: {false: {{{false: {cache: {{cache: {alert ("Harap masukkan nomor telepon legal");}}); var countdown = 60; function updateButtonstatus () {var phone = $ ("#validationCode"); if (countDown == 0) {phone.attr ("dinonaktifkan", "false"); phone.val ("gratis untuk mendapatkan kode verifikasi"); Hitung mundur "); phone.val (" Gratis untuk mendapatkan kode verifikasi "); Hitung mundur"); {phone.attr ("Disabled", "true"); phone.val ("resend (" + countdown + ")"); countDown-;} setTimeout (function () {updateButtonTatus ()}, 1000)}Kode backend
@RequestMapping (value = "/sendsms")@responseBodypublic string sendsms (@RequestParam ("Telepon") Telepon String, permintaan httpservletRequest) {stringBuilder kode = new StringBuilder (); acak acak = random baru (); // Hasilkan kode verifikasi 6-bit untuk (int i = 0); Random; {code.append (string.ValueOf (random.nextInt (10)));} httpsession session = request.getSession (); session.setAttribute (validate_phone, telepon); session.setAttribute (validate_phone_code, code.toString ()); sessi adalah: "+kode; smsutil.send (telepon, smstext); return" success ";}Smsutil adalah kelas pengiriman antarmuka SMS yang dienkapsulasi di atas. Lihat yang berikut ini, ubah API_Key menjadi milik Anda.
kelas publik smsutil {string statis httpurl = "http://apis.baidu.com/kingtto_media/106sms/106sms"; string statis final api_key =" xxxx "; public static string kirim (string telepon, string konten) {pembaca bufferedReader = null (null public = string string, string phone, string content) {bufferedReader Reader = null; nuller = null public = null Hasil (string string) {BufferedReader Reader = nuller = null public = null Hasil (string string) {BufferedReader Reader = nuller = null public = nulling = string phone {String httpARG = "seluler ="+telepon+"& content ="+urlencoder.encode (konten, "utf-8")+"& tag = 2"; httpurl = httpurl+"?" + httparg; url url = url baru (httpurl); httpurlconnection connection = (httpurlconnection) url.openconnection (); connection.setRequestMethod ("get"); // isi apikey ke http HeaderConnection.setRequestProperty ("apikey", api_key); connect.connect (); inputStream adalah = connection.getInputStream (); pembaca = BufferedReader baru (inputStreamReader baru (adalah, "UTF-8")); string strread = null; while (strread = "))); string strread = null; while (strread = ("))); string strread = null; while (strread (is ")); {sbf.append (strread); sbf.append ("/r/n");} reader.close (); hasil = sbf.tostring ();} catch (pengecualian e) {e.printstacktrace ();} hasil pengembalian;}}Sebelum mengirimkan formulir di meja depan, Anda juga perlu menggunakan AJAX untuk memverifikasi formulir untuk memverifikasi apakah kode verifikasi benar:
@RequestMapping ("/Validate")@ResponseBodyProtected String Validate (httpservletRequest Request,@requestParam ("phone") String inputphone,@requestParam ("code") string inputCode) {httpsession Sesi session.getAttribute (validate_phone); if (phone.equals (inputphone) && code.equalSignorecase (inputCode)) {return "success";} else {return "failure";}}Di atas adalah metode implementasi fungsi kode verifikasi SMS Spring MVC yang diperkenalkan kepada Anda oleh editor. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!