등록 할 때, 사용자 정보 확인 등과 같은 외부 웹 사이트에서 SMS 확인이 매우 필요합니다. SpringMVC의 구현은 다음과 같습니다.
SMS 인터페이스
SMS 인터페이스, 일부 회사는 모바일 SMS 플랫폼 인터페이스를 구매합니다. 개인이거나 소기업 인 경우 일부 클라우드 서비스를 사용할 수 있습니다. 예를 들어, Baidu의 API 상점에서.
http://apistore.baidu.com/apiworks/servicedetail/1018.html을 사용하고 있습니다
물론 SMS 인터페이스는 지불해야하며 템플릿을 기반으로합니다. 특정 지침은이 웹 사이트의 지침을 참조하십시오.
프론트 엔드 인터페이스
다음과 같이 프론트 엔드 인터페이스를 클릭하여 확인 코드를 가져 오면 버튼이 회색으로 바뀌고 카운트 다운됩니다. (휴대폰 번호는 내 것입니다 ~~)
html 코드는 기록되지 않았으며 JS는 다음과 같습니다. verificationCode는 확인 코드를 얻기위한 버튼의 ID입니다. 전화는 휴대폰 번호의 신분증입니다. 휴대폰 번호는 단순한 검증 일뿐입니다. 더 정확한 경우 규칙을 사용하십시오. URL의 Sendsms는 백그라운드에서 SpringMVC의 경로입니다.
$ ( "#validationCode"). click (function () {var phone = $ ( "#phone"). val (); if ($ ( "#phone"). val () && $ ( "#phone"). val (). length == 11) {$. ajax ({cache : false, url : "sends" {Alert ( "법적 전화 번호를 입력하십시오"); var countdown = 60; 함수 update buttonstatus () {var phone = $ ( "#validationCode"); if (countdown == 0) {폰 .attr ( "disabled", "false"); kone.val ( "countification code = 60; 반품"; {phone.attr ( "disabled", "true"); phone.val ( "resend (" + countdown + ")"); countdown-;} settimeout (function () {updatebuttonstatus ()}, 1000)}백엔드 코드
@requestmapping (value = "/sendsms")@responsebodpublic string sendsms (@requestparam ( "phone") 문자열 전화, httpservletrequest request) {stringbuilder code = new StringBuilder (); random random = new random (// int i = 0; i ++). {Code.Append (String.Valueof (random.nextInt (10));}} httpsession session = request.getSession (); session.setAttribute (validate_phone, phone); session.setAttribute (validate_phone_code, code.tostring ()); section.setAttribute (getttime, new Date ()). IS : "+코드; smsutil.send (전화, smstext); return"success ";}SMSUTIL은 위에서 캡슐화 된 SMS 인터페이스의 전송 클래스입니다. 다음을 참조하고 API_Key를 자신의 것으로 변경하십시오.
public class smsutil {정적 문자열 httpurl = "http://apis.baidu.com/kingtto_media/106sms/106sm";final static string api_key ="xxxx "; public static string send (문자열 폰, 문자열 콘텐츠) {bufferedreader = null; string rists = null; stringbufer silbl; {String httparg = "mobile ="+phone+"& content ="+urlencoder.encode (content, "utf-8")+"& tag = 2"; httpurl = httpurl+"?" + httparg; url url = new URL (httpurl); httpurlConnection Connection = (httpurlConnection) url.openConnection (); connection.setRequestMethod ( "get"); // apikey를 http로 채우십시오. HeaderConnection.setRequestProperty ( "apikey", api_key); connect.connect (); inputStream is = connection.getInputStream (); reader = new bufferedReader (new inputStreamReader (is, "utf-8"); Strread = null; {sbf.append (strread); sbf.append ( "/r/n");} reader.close (); result = sbf.tostring ();} catch (예외 e) {e.printstacktrace ();} retud result;}}프론트 데스크에서 양식을 제출하기 전에 AJAX를 사용하여 확인 코드가 올바른지 확인하기 위해 양식을 확인해야합니다.
@requestmapping ( "/validate")@responseBodyProtected String validate (httpservletRequest request,@requestParam ( "폰") 문자열 입력 전화,@requestParam ( "code") String inputCode) {httpsestion session = request.getsession (); string code = (string) session.getAttribute (string _phone_code); session.getAttribute (validate_phone); if (폰. equals (inputphone) && code.equalsignorecase (inputcode)) {return "success";} else {return "abour";}}위는 편집기가 소개 한 Spring MVC의 SMS Verification Code 기능의 구현 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!