Java调用WebService接口实现发送手机短信验证码功能

上传人:ji****72 文档编号:37513346 上传时间:2018-04-17 格式:DOCX 页数:15 大小:350.62KB
返回 下载 相关 举报
Java调用WebService接口实现发送手机短信验证码功能_第1页
第1页 / 共15页
Java调用WebService接口实现发送手机短信验证码功能_第2页
第2页 / 共15页
Java调用WebService接口实现发送手机短信验证码功能_第3页
第3页 / 共15页
Java调用WebService接口实现发送手机短信验证码功能_第4页
第4页 / 共15页
Java调用WebService接口实现发送手机短信验证码功能_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Java调用WebService接口实现发送手机短信验证码功能》由会员分享,可在线阅读,更多相关《Java调用WebService接口实现发送手机短信验证码功能(15页珍藏版)》请在金锄头文库上搜索。

1、近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供 的短信平台接口 WebService 客户端接口,下面我把我在项目中用到的记录一下,以便给大 家提供个思路,由于本人的文采有限,还请大家见谅! 一:首先上几张案例截图,以便大家可以了解一下短信验证码的流程,这里我在做的过程 中也参考了很多网站的短信验证码,比如:58 同城,汽车之家等。 1.点击获取验证码之前的样式:2.输入正确的手机号后点击获取验证码之后的样式:3.如果手机号已经被注册的样式:4.如果一个手机号一天发送超过 3 次就提示不能发送:二:前台的注册页面的代码:reg.jsp“ 中国证券会证券期货违法违

2、规举报中心-注册 /images/favicon.ico“ / /css/main.css“ /formValidator1/style/validator.css“ rel=“stylesheet“ type=“text/css“ / button background: #F0F0F0 repeat-x; padding-top: 3px; border-top : 1px solid #708090; border-right: 1px solid #708090; border-bottom: 1px solid #708090; border-left: 1px solid #708

3、090; width: auto; line-height: 12pt; font-size : 10pt; cursor: hand; font-size: 10pt; border-top: 1px solid #708090; /js/jquery-1.7.2.min.js“ type=“text/javascript“ /formValidator1/formValidator- 4.0.1.js“ type=“text/javascript“ /formValidator1/formValidatorRegex.js “ type=“text/javascript“ /js/regi

4、ster.js“ type=“text/javascript“ /js/sms.js“ type=“text/javascript“ function changeCheckNum() var checkNumImage_ = document.getElementById(“checkNumImage“); checkNumImage_.src = “$pageContext.request.contextPath/image.jsp?timeStamp =“+ new Date().getTime(); var msg = “$message“; if (msg != “) alert(m

5、sg); 当前位置: /statics/reg.jsp“用户注册 举报人基本信息 用户名: username 登 录密码: password 确 认密码: passwordRepeat 姓名: nickname 性 别: 联系地址: jbAddress 联 系手机: jbPhone 短信验证码:SmsCheckCodeTip 证 件类型: jbCredentialsName 证 件号码: jbCredentialsCode 单位名称: jbCompanyName 所 在地区: jbSourceArea 验证码: 换一张 checkNumTip 三:前台获取短信验证码的 js:sms.jsvar

6、 InterValObj; /timer 变量,控制时间 var count = 120; /间隔函数,1 秒执行 var curCount;/当前剩余秒数 var code = “; /验证码 var codeLength = 6;/验证码长度 function sendMessage() curCount = count; var jbPhone = $(“#jbPhone“).val(); var jbPhoneTip = $(“#jbPhoneTip“).text(); if (jbPhone != “) if(jbPhoneTip = “ 该手机号码可以注册,输入正确“ | jbPh

7、oneTip = “ 短信验 证码已发到您的手机,请查收“) / 产生验证码 for ( var i = 0; i 短信验证码已发到您的 手机,请查收“); else if(data = 0) $(“#jbPhoneTip“).html(“ 短信验证码发送失败,请重 新发送“); else if(data = 2) $(“#jbPhoneTip“).html(“ 该手机号码今天发送验证码 过多“); ); else $(“#jbPhoneTip“).html(“ 手机号码不能为空“); /timer 处理函数 function SetRemainTime() if (curCount = 0)

8、 window.clearInterval(InterValObj);/ 停止计时器 $(“#btnSendCode“).removeAttr(“disabled“);/ 启用按钮 $(“#btnSendCode“).val(“重新发送验证码“); code = “; / 清除验证码。如果不清除,过时间后,输入收到的验证码依然有效 else curCount-; $(“#btnSendCode“).val(“请在“ + curCount + “秒内输入验证码“); $(document).ready(function() $(“#SmsCheckCode“).blur(function() v

9、ar SmsCheckCodeVal = $(“#SmsCheckCode“).val(); / 向后台发送处理数据 $.ajax( url : “UserAction_checkCode.action“, data : SmsCheckCode : SmsCheckCodeVal, type : “POST“, dataType : “text“, success : function(data) data = parseInt(data, 10); if (data = 1) $(“#SmsCheckCodeTip“).html(“ 短信验证码正确,请 继续“); else $(“#Sms

10、CheckCodeTip“).html(“ 短信验证码有误,请核实 后重新填写“); ); ); ); 四:后台 action 的代码:UserAction.java(这里只是调用了我们的第三方给提供的客户端 代码的发送短信的方法,如果是调用其他的短信平台,可以换成他们的发送短信的方法, 这里只是给大家做个参考)/* * 验证手机短信是否发送成功 * * throws Exception */ Action(value = “UserAction_sms“) public void sms() throws Exception String result = “0“; /* 手机号码 */ S

11、tring jbPhone = WebContextUtil.getRequest().getParameter(“jbPhone“); /* 短信验证码 */ String code = WebContextUtil.getRequest().getParameter(“code“); /* 短信验证码存入 session(session 的默认失效时间 30 分钟) */ WebContextUtil.getSession().setAttribute(“code“, code); /* 如何初始化失败返回 */ if(!initClient() return; /* 单个手机号发送短信的

12、方法的参数准备 */ / 手机号码 String mobilephone = jbPhone; / 短信内容+随机生成的 6 位短信验证码 String content = “根据中国证监会举报中心委托,特向您发送此条短信。您的注册验 证码为:“ + code; / 操作用户的 ID Integer operId = Integer.parseInt(Env.getInstance().getProperty(“operId“); / 定时发送的的发送时间(缺省为空,如果即时发送,填空) String tosend_time = “; / 应用系统的短信 ID,用户查询该短信的状态报告(缺省为

13、 0,即不需查询短信的状态 报告) int sms_id = 0; / 黑名单过滤(0:不需要黑名单过滤,1:需要黑名单过滤,缺省为 0) short backlist_filter = 0; / 禁止语过滤(0:不需要禁止语过滤,1:需要禁止语过滤,缺省为 0) short fbdword_filter = 0; / 优先级(值越大优先级越高,0:普通,1,:优先,2:最高,缺省为 0) short priority = 0; / 短信有效时间(格式为:YYYY-MM-DD HH:mm:ss 目前为空) String valid_time = “; /* 发送短信之前先统计一个已经发送的短信

14、条数 */ int messageCount = countService.findAllRecord(mobilephone); System.out.println(“已发短信条数为:“ +messageCount); if(messageCount 5) /* 单个手机号发送短信 */ if (!sendMessage(mobilephone, content, operId, tosend_time, sms_id, backlist_filter, fbdword_filter, priority, valid_time) result = “0“;/ 失败 else result

15、= “1“;/ 成功 /* 发送一条短信,记录一条短信记录,为了方便之后的统计短信发送次数 */ count.setPhone(mobilephone);/ 手机号码 count.setCaptcha(code);/ 短信验证码 count.setSendTime(CommonUtil.getNowDate();/ 短信发送时间 if(count != null) countService.saveEntity(count); System.out.println(“保存成功!“); else System.out.println(“该手机号码今天发送验证码过多“); result = “2“;/一个手机号码最多发送 3 条短信验证码 HttpServletResponse response = WebContextUtil.getResponse(); response.setContentType

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号