标签:
1.jsp
<div class="yycontent" id="yybtn"> <span>验证码</span> <input type="text" id="scode" name="scode" style="width: 79%; border: 0; height: 3.5%; font-size: 0.75em; outline: none;" placeholder="请输入手机验证码"> <input type="button" name="btnsendsms" id="btnsendsms" class="yybtn1" type="button" value="获取验证" onclick="headsendSms()" /> </div> <script type="text/javascript"> var headInterValObj; //timer变量,控制时间 var headcount = 60; //间隔函数,1秒执行 var headcurCount;//当前剩余秒数 //timer处理函数 function headSetRemainTime() { if (headcurCount == 0) { window.clearInterval(headInterValObj);//停止计时器 $("#btnsendsms").val("获取验证");//启用按钮 $("#btnsendsms").attr("onclick", "headsendSms()"); } else { headcurCount--; $("#btnsendsms").attr("onclick", ""); $("#btnsendsms").val("重新发送(" + headcurCount + ")"); } } function headsendSms() { if (trim($(‘#cellphone‘).val()) == "") { showmsg(0, "手机号错误。"); return; } headcurCount = headcount; $("#btnsendsms").attr("onclick", ""); headInterValObj = window.setInterval(headSetRemainTime, 1000); //启动计时器,1秒执行一次 $.ajax({ url : "${contextPath}/web/sendsms.htm", data : $("#headForm").serialize(), cache : false, success : function(xmlHttp) { var res = xmlHttp; if (res.errorMessage == ‘105‘) { showmsg(0, "操作过快,请等10s以后再操作。"); } else if (res.errorMessage == ‘0‘) { showmsg(1, "验证码发送成功。"); } else { showmsg(0, "获取验证码出错。"); } } }); } </script>
2.controller
@RequestMapping("/sendsms.htm") @ResponseBody public Response sendsms(Model model, RequestParameter param) { Response res = new Response(); SessionUser suser = null; if (httpSession.getAttribute(AoConstants.SESSION_USER_KEY) != null) { suser = new SessionUser(); suser = (SessionUser) httpSession.getAttribute(AoConstants.SESSION_USER_KEY); } int code = (int) (Math.random() * 9000 + 1000); int ttcode = (int) (Math.random() * 9000 + 1000); String scode = String.valueOf(code); String tcode = String.valueOf(ttcode); String cellphone = "15267287105"; //String scode = "1111"; if (suser == null) { FenXiao fenXiao = new FenXiao(); fenXiao.setCellphone(param.getCellphone()); fenXiao.setScode(scode); fenXiao.setTcode(tcode); String key = AoConstants.SESSION_USER_KEY + "_" + param.getCellphone(); if (httpSession.getAttribute(key) != null) httpSession.removeAttribute(key); httpSession.setAttribute(key, fenXiao); HttpSenderTest Esms = new HttpSenderTest(); //res.setErrorMessage("0"); res.setErrorMessage(Esms.sms_send(param.getCellphone(), scode, cellphone, tcode)); // 注册 } return res; } @RequestMapping("/register.htm") @ResponseBody public Response register(Model model, RequestParameter param) { Response res = new Response(); String key = AoConstants.SESSION_USER_KEY + "_" + param.getCellphone(); if (httpSession.getAttribute(key) == null) { res.setErrorMessage("验证码错误。"); res.setResult(2); return res; } FenXiao fenXiao = (FenXiao) httpSession.getAttribute(key); if (StringUtils.isBlank(fenXiao.getScode()) || !fenXiao.getScode().equals(param.getScode())) { res.setErrorMessage("验证码错误。"); res.setResult(2); return res; } if (StringUtils.isBlank(fenXiao.getTcode()) || !fenXiao.getTcode().equals(param.getTcode())) { res.setErrorMessage("推荐码错误。"); res.setResult(2); return res; } // httpSession.removeAttribute(key); // 及时清理 等完善信息后 清理 // #0: 正常; // #1: 手机号重复; Integer ret = 0; ret = webService.checkCellphone(fenXiao); if (ret == 1) { httpSession.removeAttribute(key); // 及时清理 res.setErrorMessage("注册失败,手机号重复。"); res.setResult(1); } /* * else{ * res.setLlong(fenXiao.getId()); * } */ fenXiao.setPassword(param.getPassword()); if (httpSession.getAttribute(key) != null) httpSession.removeAttribute(key); httpSession.setAttribute(key, fenXiao); return res; }
3.java类 http.jar
import com.bcloud.msg.http.HttpSender; public class HttpSenderTest { public String sms_send(String phonenum1, String scode, String phonenum2, String tcode) { String uri = "http://120.26.69.248/msg/HttpSendSM";//应用地址 String account = "002006";//账号 String pswd = "Sy123456";//密码 String mobiles1 = phonenum1;//手机号码,多个号码使用","分割 String content1 = "您好,您的验证码是:" + scode;//短信内容 String mobiles2 = phonenum2;//手机号码,多个号码使用","分割 String content2 = "您好,您的验证码是:" + tcode;//短信内容 boolean needstatus = true;//是否需要状态报告,需要true,不需要false String product = "";//产品ID(不用填写) String extno = "";//扩展码(不用填写) String str = ""; try { String returnString1 = HttpSender.send(uri, account, pswd, mobiles1, content1, needstatus, product, extno); //String returnString2 = HttpSender.send(uri, account, pswd, mobiles2, content2, needstatus, product, extno); //System.out.println(needstatus); System.out.println(returnString1); Integer in = returnString1.indexOf(","); Integer end = returnString1.indexOf("\n"); str = returnString1.substring(in+1, end); //TODO 处理返回值,参见HTTP协议文档 } catch (Exception e) { //TODO 处理异常 e.printStackTrace(); } return str; } }
标签:
原文地址:http://www.cnblogs.com/wzz1020/p/5151259.html