Проверка SMS на внешних веб -сайтах очень необходима, например, при регистрации, проверке пользовательской информации и т. Д. Реализация в SpringMVC заключается в следующем:
SMS -интерфейс
SMS -интерфейс, некоторые компании будут приобретать интерфейсы мобильных SMS -платформ. Если вы являетесь человеком или малым бизнесом, вы можете использовать некоторые облачные сервисы. Например, в магазине API Baidu.
Я использую: http://apistore.baidu.com/apiworks/serviceedetail/1018.html
Конечно, интерфейс SMS должен быть оплачен, и он основан на шаблоне. Для конкретных инструкций, пожалуйста, обратитесь к инструкциям на этом сайте.
Интерфейс фронт
Интерфейс переднего интерфейса, который может быть следующим образом, нажмите, чтобы получить код проверки, а затем кнопка становится серым и отсчитывается. (Номер мобильного телефона мой ~~)
HTML -код не записан, JS выглядит следующим образом: VerificationCode - это идентификатор кнопки для получения кода проверки. Телефон является идентификатором номера мобильного телефона. Номер мобильного телефона - это просто простая проверка. Если это должно быть более точным, используйте регулярность. Sendsms of URL -адреса - это путь SpringMVC на заднем плане.
$ ("#validationCode"). Click (function () {var phone = $ ("#phone"). val (); if ($ ("#phone"). val () && $ ("#phone"). val (). Length == 11) {$. ajax ({cache: false, url: "sendsms", data: {phone: phone}}); {alert («Пожалуйста, введите легальный номер телефона»);}}); var countdown = 60; function updatebuttonstatus () {var phone = $ ("#validationcode"); if (countdown == 0) {phone.attr ("отключен", "false"); {phone.attr ("disablet", "true"); phone.val ("resend (" + countdown + ")"); countdown-;} settimeout (function () {updatebuttonstatus ()}, 1000)}Бэкэнд -код
@Requestmapping (value = "/sendsms")@responsbodypublic string sendsmssms (@requestparam ("телефон") строковой телефон, запрос httpservletrequest) {stringbuilder code = new StringBuilder (); случайный случайный = new Random (); // генерировать 6-битный код версии для (int i = 0; i <6; {code.append (string.valueof (random.nextint (10)));} httpsession session = request.getsession (); session.setattribute (validate_phone, phone); session.setattribute (valide_phone_code, code.toString ()); sessiontatribut IS: "+code; smsutil.send (телефон, smstext); вернуть" успех ";}Smsutil - это класс отправки интерфейса SMS, инкапсулированный выше. Обратитесь к следующему, измените API_KEY на свой собственный.
открытый класс Smsutil {static String httpurl = "http://apis.baidu.com/kingtto_media/106sms/106sms";final static String api_key =" xxxx "; public Static String Send (String Phone, String Sonvent) {BufferedRead Reader = null; null result; null; null SendBuffer SPUFFER = null; null; null; nullsbuffer stringBuffer springbuffer = stringBuffer springBuffer = stringBuffer = stringBuffer; {String httparg = "mobile ="+phone+"& content ="+urlencoder.encode (content, "utf-8")+"& Tag = 2"; httpurl = httpurl+"?" + httparg; url url = new URL (httpurl); httpurlconnection connection = (httpurlconnection) url.openconcenection (); connection.setrequestmethod ("Get"); // apikey до http Headerconnection.setRequestProperty ("apikey", api_key); connect.connect (); inputstream IS = connection.getInputStream (); Reader = new BufferedReader (новый inputStreamReader (IS, "utf-8")); String strRead = while; (strread = reader.Readline ())! {sbf.append (strred); sbf.append ("/r/n");} reader.close (); result = sbf.tostring ();} catch (Exception e) {e.printstacktrace ();} return Result;}}Перед отправкой формы на стойке регистрации вам также необходимо использовать Ajax для проверки формы, чтобы проверить, является ли код проверки правильным:
@RequestMapping ("/validate")@responsebodyprotected String validate (httpservletrequest request,@requestparam ("phone") String inputphone,@requestparam ("code") String inputcode) {httpsession session = request.getsession (); строка код = session.getattriut session.getattribute (validate_phone); if (phone.equals (inputphone) && code.equalsignorecase (inputcode)) {return "success";} else {return "waill";}}Выше приведено метод реализации функции кода проверки Spring MVC SMS -кода, введенной вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!