生活随笔
收集整理的這篇文章主要介紹了
java通过容联云通讯实现发送短信验证码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1.在容聯(lián)云通訊上根據(jù) —接入流程 完成以下的步驟
創(chuàng)建應(yīng)用
申請(qǐng)短信簽名
配置測(cè)試號(hào)碼等等
最終可以拿到SID和TOKEN。之后把官網(wǎng)上的Demo下載下來(lái),把里面的jar包加到你的項(xiàng)目里面
Controller層
package com.hfxt.web.controller;import java.util.HashMap;
import java.util.Set;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;import com.cloopen.rest.sdk.CCPRestSmsSDK;
import common.model.JsonCrudModel;@RequestMapping("/yzm")
@Controller
public class SDKTestSendTemplateSMS extends BaseController{@RequestMapping("/getYzm")@ResponseBodypublic String yzm(HttpSession session){HashMap<String, Object> result = null;//初始化SDKCCPRestSmsSDK restAPI = new CCPRestSmsSDK();restAPI.init("app.cloopen.com", "8883");restAPI.setAccount("你的ACOUNT SID", "你的AUTH TOKEN"); //參數(shù)順序:第一個(gè)參數(shù)是ACOUNT SID,第二個(gè)參數(shù)是AUTH TOKEN。restAPI.setAppId("你的APP ID"); //應(yīng)用ID的獲取:登陸官網(wǎng),在“應(yīng)用-應(yīng)用列表”,點(diǎn)擊應(yīng)用名稱,看應(yīng)用詳情獲取APP IDint mobile_code = (int)((Math.random()*9+1)*100000); //用隨機(jī)數(shù)當(dāng)驗(yàn)證碼String yzm = String.valueOf(mobile_code);result = restAPI.sendTemplateSMS("你的手機(jī)號(hào)","1" ,new String[]{yzm,"2"}); // 第一個(gè)參數(shù)是手機(jī)號(hào),第二個(gè)參數(shù)是你是用的第幾個(gè)模板,第三個(gè)參數(shù)是你的驗(yàn)證碼,第四個(gè)是在幾分鐘之內(nèi)輸入session.setAttribute("yzm", yzm);System.out.println("SDKTestGetSubAccounts result=" + result);if("000000".equals(result.get("statusCode"))){//正常返回輸出data包體信息(map)HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");Set<String> keySet = data.keySet();for(String key:keySet){Object object = data.get(key);System.out.println(key +" = "+object);}}else{//異常返回輸出錯(cuò)誤碼和錯(cuò)誤信息System.out.println("錯(cuò)誤碼=" + result.get("statusCode") +" 錯(cuò)誤信息= "+result.get("statusMsg"));}return null;}
}
然后需要寫一個(gè)Controller來(lái)判斷你輸入的驗(yàn)證碼是否正確
@RequestMapping("yanzhengma")@ResponseBodypublic JsonCrudModel<Object> begin(HttpSession session , String yzm){final JsonCrudModel<Object> json = new JsonCrudModel<Object>();String yzm1 = (String)session.getAttribute("yzm");if(yzm!=null && yzm1!=null){if(yzm.equals(yzm1)){json.setMessage("success");}else{json.setMessage("error");}}else{json.setMessage("error");}return json;}
這樣后端就寫完了
之后就是前端怎么拿到數(shù)據(jù),發(fā)送驗(yàn)證碼
JSP
<form action="${pageContext.request.contextPath }/提交的地址" method="post"> //當(dāng)輸入完成后,表單提交到一個(gè)地址<div class="register"><div class="res-item"><input type="tel" placeholder="手機(jī)號(hào)" name="account" class="input-item mobile"><i class="res-icon am-icon-phone"></i></div><div class="res-item"><input type="text" onblur="f2();" name="yzm" id="yzm" placeholder="驗(yàn)證碼" class="input-item yanzheng"> //當(dāng)輸入錯(cuò)誤,光標(biāo)聚集在文本框內(nèi)<i class="res-icon am-icon-mobile"></i><button type="button" class="yanzhengma" onclick="yz();">發(fā)送驗(yàn)證碼</button> //發(fā)送驗(yàn)證碼</div><div class="res-item"><div class="res-btn"><button type="submit" id="res-btn" class="am-btn am-btn-block">完成</button></div></div><center><p style="color: red; font-size: 2em;">${mistake }</p></center></form>
表單寫完了,之后就是用JS得到數(shù)據(jù),執(zhí)行發(fā)送驗(yàn)證碼了
<script type="text/javascript">function yz(){ //向目標(biāo)Controller發(fā)起請(qǐng)求$.ajax({url:"${pageContext.request.contextPath }/yzm/getYzm",data:"script",dataType:"JSON",type:"GET",success:function(data){},error:function(data2){}});}function f2(){ //判斷輸入的驗(yàn)證碼是否正確if(document.getElementById("yzm").value!=null || document.getElementById("yzm").value!=""){$.ajax({url:"${pageContext.request.contextPath }/yzm/yanzhengma?yzm="+document.getElementById("yzm").value,dataType:"json",type:"POST",success:function(data){if(data.message!="success"){document.getElementById("yzm").value="";alert("驗(yàn)證碼輸入錯(cuò)誤!");}},error:function(data){}});}}</script>
大功告成!完成發(fā)送
總結(jié)
以上是生活随笔為你收集整理的java通过容联云通讯实现发送短信验证码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。