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

上传人:宝路 文档编号:2993645 上传时间:2017-07-29 格式: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 #708090; width: a

3、uto; 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/register.js type=text/javasc

4、ript /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(msg); 当前位置: /statics/reg.jsp用户注册 举报人基本信

5、息 用户名: username 登录密码: password 确认密码: passwordRepeat 姓名: nickname 性 别: 联系地址: jbAddress 联系手机: jbPhone 短信验证码:SmsCheckCodeTip 证件类型: jbCredentialsName 证件号码: jbCredentialsCode 单位名称: jbCompanyName 所在地区: jbSourceArea 验证码: 换一张 checkNumTip 三:前台获取短信验证码的 js:sms.jsvar InterValObj; /timer 变量,控制时间 var count = 120;

6、 /间隔函数,1 秒执行 var curCount;/当前剩余秒数 var code = ; /验证码 var codeLength = 6;/验证码长度 function sendMessage() curCount = count; var jbPhone = $(#jbPhone).val(); var jbPhoneTip = $(#jbPhoneTip).text(); if (jbPhone != ) if(jbPhoneTip = 该手机号码可以注册,输入正确 | jbPhoneTip = 短信验证码已发到您的手机,请查收) / 产生验证码 for ( var i = 0; i

7、短信验证码已发到您的手机,请查收); else if(data = 0) $(#jbPhoneTip).html( 短信验证码发送失败,请重新发送); else if(data = 2) $(#jbPhoneTip).html( 该手机号码今天发送验证码过多); ); else $(#jbPhoneTip).html( 手机号码不能为空); /timer 处理函数 function SetRemainTime() if (curCount = 0) window.clearInterval(InterValObj);/ 停止计时器 $(#btnSendCode).removeAttr(disa

8、bled);/ 启用按钮 $(#btnSendCode).val(重新发送验证码); code = ; / 清除验证码。如果不清除,过时间后,输入收到的验证码依然有效 else curCount-; $(#btnSendCode).val(请在 + curCount + 秒内输入验证码); $(document).ready(function() $(#SmsCheckCode).blur(function() var SmsCheckCodeVal = $(#SmsCheckCode).val(); / 向后台发送处理数据 $.ajax( url : UserAction_checkCode

9、.action, data : SmsCheckCode : SmsCheckCodeVal, type : POST, dataType : text, success : function(data) data = parseInt(data, 10); if (data = 1) $(#SmsCheckCodeTip).html( 短信验证码正确,请继续); else $(#SmsCheckCodeTip).html( 短信验证码有误,请核实后重新填写); ); ); ); 四:后台 action 的代码:UserAction.java(这里只是调用了我们的第三方给提供的客户端代码的发送

10、短信的方法,如果是调用其他的短信平台,可以换成他们的发送短信的方法,这里只是给大家做个参考)/* * 验证手机短信是否发送成功 * * throws Exception */ Action(value = UserAction_sms) public void sms() throws Exception String result = 0; /* 手机号码 */ String jbPhone = WebContextUtil.getRequest().getParameter(jbPhone); /* 短信验证码 */ String code = WebContextUtil.getRequ

11、est().getParameter(code); /* 短信验证码存入 session(session 的默认失效时间 30 分钟) */ WebContextUtil.getSession().setAttribute(code, code); /* 如何初始化失败返回 */ if(!initClient() return; /* 单个手机号发送短信的方法的参数准备 */ / 手机号码 String mobilephone = jbPhone; / 短信内容+随机生成的 6 位短信验证码 String content = 根据中国证监会举报中心委托,特向您发送此条短信。您的注册验证码为:

12、+ code; / 操作用户的 ID Integer operId = Integer.parseInt(Env.getInstance().getProperty(operId); / 定时发送的的发送时间(缺省为空,如果即时发送,填空) String tosend_time = ; / 应用系统的短信 ID,用户查询该短信的状态报告(缺省为 0,即不需查询短信的状态报告) int sms_id = 0; / 黑名单过滤(0:不需要黑名单过滤,1:需要黑名单过滤,缺省为 0) short backlist_filter = 0; / 禁止语过滤(0:不需要禁止语过滤,1:需要禁止语过滤,缺省

13、为 0) short fbdword_filter = 0; / 优先级 (值越大优先级越高,0:普通,1,:优先,2:最高,缺省为 0) short priority = 0; / 短信有效时间(格式为:YYYY-MM-DD HH:mm:ss 目前为空) String valid_time = ; /* 发送短信之前先统计一个已经发送的短信条数 */ int messageCount = countService.findAllRecord(mobilephone); System.out.println(已发短信条数为: +messageCount); if(messageCount 5)

14、 /* 单个手机号发送短信 */ if (!sendMessage(mobilephone, content, operId, tosend_time, sms_id, backlist_filter, fbdword_filter, priority, valid_time) result = 0;/ 失败 else result = 1;/ 成功 /* 发送一条短信,记录一条短信记录,为了方便之后的统计短信发送次数 */ count.setPhone(mobilephone);/ 手机号码 count.setCaptcha(code);/ 短信验证码 count.setSendTime(CommonUtil.getNowDate();/ 短信发送时间 if(count != null) countService.saveEntity(count); System

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

最新文档


当前位置:首页 > 中学教育 > 试题/考题

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