La verificación de SMS en sitios web externos es muy necesaria, como al registrarse, verificar la información del usuario, etc. La implementación en SpringMVC es la siguiente:
Interfaz SMS
Interfaz SMS, algunas compañías comprarán interfaces de plataforma SMS móviles. Si usted es un individuo o una pequeña empresa, puede usar algunos servicios en la nube. Por ejemplo, en la tienda API de Baidu.
Estoy usando: http://apistore.baidu.com/apiworks/servateetail/1018.html
Por supuesto, la interfaz SMS debe pagarse, y se basa en la plantilla. Para las instrucciones específicas, consulte las instrucciones en este sitio web.
Interfaz front-end
La interfaz front-end, que puede ser la siguiente, haga clic para obtener el código de verificación, y luego el botón gira y cuenta hacia abajo. (El número de teléfono móvil es mío ~~)
El código HTML no está escrito, JS es el siguiente: VerificationCode es la identificación del botón para obtener el código de verificación. El teléfono es la identificación del número de teléfono móvil. El número de teléfono móvil es solo una simple verificación. Si va a ser más preciso, use regularidad. El SendSMS de la URL es el camino de SpringMVC en el fondo.
$ ("#ValidationCode"). Click (function () {var phone = $ ("#phone"). val (); if ($ ("#phone"). val () && $ ("#phone"). val (). longitud == 11) {$. Ajax ({cache: falso, url: "sendsms", datos: {teléfono: teléfono}}); actualización de la actualización); {alerta ("Por favor ingrese un número de teléfono legal");}}); var Countdown = 60; function UpdateButtonStatus () {var phone = $ ("#ValidationCode"); if (Countdown == 0) {phone.attr ("desactivado", "falso"); phone.val ("Free Free To VERIFICE CODE"); {phone.attr ("discapacitado", "true"); phone.val ("Resend (" + Countdown + ")"); Countdown-;} setTimeOut (function () {updateButtonStatus ()}, 1000)}Código de backend
@RequestMapping (value = "/Sendsms")@ResponseBodyPublic String SendSms (@RequestParam ("Phone") String Teléfono, httpservletRequest request) {StringBuilder Code = new StringBuilder (); Random Random = New Random (); // Generar código de verificación de 6 bits para (int i = 0; i <6; i ++)) {code.append (string.ValueOf (random.nextint (10)));} httpsession session = request.getSession (); session.setAttribute (validate_phone, phone); session.setTtribute (validate_phone_code, code.ToString ()); session.setTrute (send_code_time, nueva fecha (). gettime (). es: "+código; smsutil.send (teléfono, smstext); return" éxito ";}El smsutil es la clase de envío de la interfaz SMS encapsulada anteriormente. Consulte lo siguiente, cambie la API_KEY a la suya.
clase pública smsutil {cadena estática httpurl = "http://apis.baidu.com/kingtto_media/106sms/106sms";final static string api_key =" xxxx "; public string string string (string phone, string content) {buffereder lector = null; string string; {String httParg = "mobile ="+phone+"& content ="+urlencoder.encode (content, "utf-8")+"& tag = 2"; httpurl = httpurl+"?" + httParg; url url = new url (httpurl); httpurlconnection conecte = (httpurlconnection) url.openconnection (); conexión.setRequestMethod ("get"); // Completa el apikey a http HeaderConnection.SetRequestProperty ("apikey", api_key); conect.connect (); inputStream is = Connection.getInputStream (); lector = new BufferedReader (new InputSteamReader (is, "UTF-8")); String Strread = null; while ((Strread = Reader.Readline ())! = null) {sbf.append (strread); sbf.append ("/r/n");} reader.close (); resultado = sbf.ToString ();} capt (excepción e) {e.printstacktrace ();} return result;}}}Antes de enviar el formulario en la recepción, también debe usar AJAX para verificar el formulario para verificar si el código de verificación es correcto:
@RequestMapping ("/Validate")@Responder String String Validate (httpservletRequest request,@requestparam ("phone") string inputphone,@requestparam ("código") string inputcode) {httpsession session = request.getSession (); string code = (string) session.getTrute (validato_phone_code); string phedel = (string) session.getAttribute (validate_phone); if (phone.equals (inputphone) && code.equalSignorEcase (inputCode)) {return "Success";} else {return "Fails";}}Lo anterior es el método de implementación de la función del código de verificación SMS de Spring MVC introducido por el editor. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!