600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Java调用WebService接口实现发送手机短信验证码功能 java 手机验证码 WebService接口调用...

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

时间:2023-06-05 22:57:35

相关推荐

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

近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限,还请大家见谅!

一:首先上几张案例截图,以便大家可以了解一下短信验证码的流程,这里我在做的过程中也参考了很多网站的短信验证码,比如:58同城,汽车之家等。

1.点击获取验证码之前的样式:

2.输入正确的手机号后点击获取验证码之后的样式:

3.如果手机号已经被注册的样式:

4.如果一个手机号一天发送超过3次就提示不能发送:

二:前台的注册页面的代码:reg.jsp

[html]view plaincopy <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%@taglibprefix="s"uri="/struts-tags"%><%@pageimport="cn.gov.csrc.base.action.FindAllData"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"><html><head><basehref="<%=basePath%>"><title>中国证券会证券期货违法违规举报中心-注册</title><metahttp-equiv="pragma"content="no-cache"><metahttp-equiv="cache-control"content="no-cache"><metahttp-equiv="expires"content="0"><metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="Thisismypage"><linkrel="shortcuticon"type="image/x-icon"href="<%=request.getContextPath()%>/images/favicon.ico"/><linkrel="stylesheet"type="text/css"href="<%=request.getContextPath()%>/css/main.css"><linkhref="<%=request.getContextPath()%>/formValidator1/style/validator.css"rel="stylesheet"type="text/css"/><styletype="text/css">button{background:#F0F0F0repeat-x;padding-top:3px;border-top:1pxsolid#708090;border-right:1pxsolid#708090;border-bottom:1pxsolid#708090;border-left:1pxsolid#708090;width:auto;line-height:12pt;font-size:10pt;cursor:hand;font-size:10pt;border-top:1pxsolid#708090;}</style><scriptsrc="<%=request.getContextPath()%>/js/jquery-1.7.2.min.js"type="text/javascript"></script><scriptsrc="<%=request.getContextPath()%>/formValidator1/formValidator-4.0.1.js"type="text/javascript"></script><scriptsrc="<%=request.getContextPath()%>/formValidator1/formValidatorRegex.js"type="text/javascript"></script><scriptsrc="<%=request.getContextPath()%>/js/register.js"type="text/javascript"></script><scriptsrc="<%=request.getContextPath()%>/js/sms.js"type="text/javascript"></script><scripttype="text/javascript">functionchangeCheckNum(){varcheckNumImage_=document.getElementById("checkNumImage");checkNumImage_.src="${pageContext.request.contextPath}/image.jsp?timeStamp="+newDate().getTime();}</script><scripttype="text/javascript">varmsg="${message}";if(msg!=""){alert(msg);}</script></head><body><%@includefile="/statics/top.jspf"%><divclass="center_division"><divclass="center_body"><divclass="center_menu"><fontcolor="#000000">当前位置:</font><ahref="<%=request.getContextPath()%>/statics/reg.jsp"><fontcolor="#000000">用户注册</font></a></div></div><divclass="center_body_menu"><s:formaction="RegisterAction_register"id="form1"name="form1"method="post"namespace="/"><tableid="tb"><tr><tdcolspan="3"align="center"bgcolor="#DDDFE1">举报人基本信息</td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>用户名:</td><tdalign="center"width="40%"><s:textfieldname="username"id="username"cssStyle="width:160px;height:24px;"οnblur="checkusername()"/></td><tdalign="left"width="30%"><spanid="usernameTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>username</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>登录密码:</td><tdalign="center"width="40%"><s:passwordname="password"id="password"cssStyle="width:160px;height:24px;"οnblur="checkpassword()"/></td><tdalign="left"width="30%"><spanid="passwordTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>password</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>确认密码:</td><tdalign="center"width="40%"><s:passwordname="passwordRepeat"id="passwordRepeat"cssStyle="width:160px;height:24px;"οnblur="checkpasswrodb()"/></td><tdalign="left"width="30%"><spanid="passwordRepeatTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>passwordRepeat</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>姓名:</td><tdalign="center"width="40%"><s:textfieldname="nickname"id="nickname"cssStyle="width:160px;height:24px;"οnblur="checknickname()"/></td><tdalign="left"width="30%"><spanid="nicknameTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>nickname</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%">性别:</td><tdalign="center"width="40%"><s:radiolist="#application.dataMap.get('10001')"name="jbSex"cssStyle="height:24px;"/></td><tdalign="left"width="30%"></td></tr><tr><tdalign="center"width="30%">联系地址:</td><tdalign="center"width="40%"><s:textfieldname="jbAddress"id="jbAddress"cssStyle="width:160px;height:24px;"/></td><tdalign="left"width="30%"><spanid="jbAddressTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>jbAddress</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>联系手机:</td><tdalign="center"width="40%"><s:textfieldid="jbPhone"name="jbPhone"cssStyle="width:160px;height:24px;"οnblur="checkjbPhone()"/></td><tdalign="left"width="30%"><spanid="jbPhoneTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>jbPhone</s:param></s:fielderror></span></td></tr><tr><tdalign="center"><imgsrc="images/new_reg_xing.gif"/>短信验证码:</td><tdalign="left"colspan="2"style="padding-left:112px;"><s:textfieldid="SmsCheckCode"name="SmsCheckCode"cssStyle="width:80px;height:24px;"maxLength="6"/><span><inputtype="button"id="btnSendCode"name="btnSendCode"value="免费获取验证码"οnclick="sendMessage()"/></span><spanid="SmsCheckCodeTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>SmsCheckCodeTip</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>证件类型:</td><tdalign="center"width="40%"><s:selectlist="#application.dataMap.get('10002')"label=""headerKey=""headerValue="--请选择--"value="1"listValue="value"οnchange="enableCredentialsCode(this)"name="jbCredentialsName"id="jbCredentialsName"cssStyle="width:160px;height:24px;"/></td><tdalign="left"width="30%"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>jbCredentialsName</s:param></s:fielderror></td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>证件号码:</td><tdalign="center"width="40%"><s:textfieldname="jbCredentialsCode"id="jbCredentialsCode"cssStyle="width:160px;height:24px;"οnblur="checkjbCredentialsCode()"/></td><tdalign="left"width="30%"><spanid="jbCredentialsCodeTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>jbCredentialsCode</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%">单位名称:</td><tdalign="center"width="40%"><s:textfieldname="jbCompanyName"id="jbCompanyName"cssStyle="width:160px;height:24px;"/></td><tdalign="left"width="30%"><spanid="jbCompanyNameTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>jbCompanyName</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>所在地区:</td><tdalign="center"width="40%"><s:selectlist="#application.dataMap.get('10003')"label=""headerKey=""headerValue="--请选择--"listKey="key"cssStyle="width:160px;height:24px;"listValue="value"id="jbSourceArea"name="jbSourceArea"οnblur="checkjbSourceArea()"/></td><tdalign="left"width="30%"><spanid="jbSourceAreaTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>jbSourceArea</s:param></s:fielderror></span></td></tr><tr><tdalign="center"width="30%"><imgsrc="images/new_reg_xing.gif"/>验证码:</td><tdalign="center"width="40%"><s:textfieldid="checkNum"name="checkNum"cssStyle="width:60px;height:24px;"οnblur="checkNumber()"maxLength="4"/><imgid="checkNumImage"src="${pageContext.request.contextPath}/image.jsp"><aonClick="changeCheckNum()"title="点击换一张"style="cursor:hand;">换一张</a></td><tdalign="left"width="30%"><spanid="checkNumTip"><s:fielderrorcssStyle="color:red;padding-left:10px;"><s:param>checkNumTip</s:param></s:fielderror></span></td></tr><tr><tdcolspan="3"style="vertical-align:top;padding-top:5px;padding-bottom:5px;"><inputtype="submit"value="注册"style="width:50px;height:24px;"/><inputtype="reset"value="重置"style="width:50px;height:24px;"/></td></tr></table></s:form></div></div><%@includefile="/common/buttom.jspf"%></body></html>

三:前台获取短信验证码的js:sms.js

[javascript]view plaincopy varInterValObj;//timer变量,控制时间varcount=120;//间隔函数,1秒执行varcurCount;//当前剩余秒数varcode="";//验证码varcodeLength=6;//验证码长度functionsendMessage(){curCount=count;varjbPhone=$("#jbPhone").val();varjbPhoneTip=$("#jbPhoneTip").text();if(jbPhone!=""){if(jbPhoneTip=="√该手机号码可以注册,输入正确"||jbPhoneTip=="√短信验证码已发到您的手机,请查收"){//产生验证码for(vari=0;i<codeLength;i++){code+=parseInt(Math.random()*9).toString();}//设置button效果,开始计时$("#btnSendCode").attr("disabled","true");$("#btnSendCode").val("请在"+curCount+"秒内输入验证码");InterValObj=window.setInterval(SetRemainTime,1000);//启动计时器,1秒执行一次//向后台发送处理数据$.ajax({type:"POST",//用POST方式传输dataType:"text",//数据格式:JSONurl:"UserAction_sms.action",//目标地址data:"jbPhone="+jbPhone+"&code="+code,error:function(XMLHttpRequest,textStatus,errorThrown){},success:function(data){data=parseInt(data,10);if(data==1){$("#jbPhoneTip").html("<fontcolor='#339933'>√短信验证码已发到您的手机,请查收</font>");}elseif(data==0){$("#jbPhoneTip").html("<fontcolor='red'>×短信验证码发送失败,请重新发送</font>");}elseif(data==2){$("#jbPhoneTip").html("<fontcolor='red'>×该手机号码今天发送验证码过多</font>");}}});}}else{$("#jbPhoneTip").html("<fontcolor='red'>×手机号码不能为空</font>");}}//timer处理函数functionSetRemainTime(){if(curCount==0){window.clearInterval(InterValObj);//停止计时器$("#btnSendCode").removeAttr("disabled");//启用按钮$("#btnSendCode").val("重新发送验证码");code="";//清除验证码。如果不清除,过时间后,输入收到的验证码依然有效}else{curCount--;$("#btnSendCode").val("请在"+curCount+"秒内输入验证码");}}$(document).ready(function(){$("#SmsCheckCode").blur(function(){varSmsCheckCodeVal=$("#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("<fontcolor='#339933'>√短信验证码正确,请继续</font>");}else{$("#SmsCheckCodeTip").html("<fontcolor='red'>×短信验证码有误,请核实后重新填写</font>");}}});});});

四:验证码用户名和手机号码的js:register.js

[javascript]view plaincopy //去掉前后空格functiontrim(str){varstrnew=str.replace(/^\s*|\s*$/g,"");returnstrnew;}//用户名functioncheckusername(){varusername=document.form1.username.value;if(username==""||!isNaN(username.charAt(0))){document.getElementById("usernameTip").innerHTML="<fontcolor='red'>×首字母不能为数字或者用户名不能为空</font>";returnfalse;}elseif(username.length<6||username.length>30){document.getElementById("usernameTip").innerHTML="<fontcolor='red'>×用户名长度为6-30位字符</font>";returnfalse;}else{document.getElementById("usernameTip").innerHTML="<fontcolor='#339933'>√用户名合格</font>";//向后台发送处理数据$.ajax({url:"UserAction_checkUserName.action",//目标地址data:{username:username},//目标参数type:"POST",//用POST方式传输dataType:"text",//数据格式:textsuccess:function(data){data=parseInt(data,10);if(data!=0){$("#usernameTip").html("<fontcolor='red'>×该用户名已经被注册,请重新输入</font>");}else{$("#usernameTip").html("<fontcolor='#339933'>√该用户名可以注册,输入正确</font>");}}});returntrue;}}//登录密码functioncheckpassword(){varpassword=document.form1.password.value;if(password.length<6||password.length>30){document.getElementById("passwordTip").innerHTML="<fontcolor='red'>×密码长度不能小于6位,大于30位</font>";returnfalse;}elseif(!isNaN(password)){document.getElementById("passwordTip").innerHTML="<fontcolor='red'>×密码不能全是数字</font>";returnfalse;}else{document.getElementById("passwordTip").innerHTML="<fontcolor='#339933'>√密码合格</font>";returntrue;}}//确认密码functioncheckpasswrodb(){varpassword=document.form1.password.value;varpasswordRepeat=document.form1.passwordRepeat.value;if(trim(password)!=trim(passwordRepeat)){document.getElementById("passwordRepeatTip").innerHTML="<fontcolor='red'>×两次密码输入必须一致</font>";returnfalse;}else{document.getElementById("passwordRepeatTip").innerHTML="<fontcolor='#339933'>√密码输入一致</font>";returntrue;}}//姓名functionchecknickname(){varnickname=document.form1.nickname.value;if(trim(nickname)==""){document.getElementById("nicknameTip").innerHTML="<fontcolor='red'>×姓名不能为空</font>";returnfalse;}else{document.getElementById("nicknameTip").innerHTML="<fontcolor='#339933'>√姓名输入正确</font>";returntrue;}}//联系手机(ajax验证手机号码是否已经存在)functioncheckjbPhone(){varjbPhone=document.form1.jbPhone.value;varre=/(^1[3|5|8][0-9]{9}$)/;if(trim(jbPhone)==""){document.getElementById("jbPhoneTip").innerHTML="<fontcolor='red'>×手机号码不能为空</font>";returnfalse;}elseif(trim(jbPhone)!=""){if(!re.test(jbPhone)){document.getElementById("jbPhoneTip").innerHTML="<fontcolor='red'>×请输入有效的手机号码</font>";returnfalse;}else{document.getElementById("jbPhoneTip").innerHTML="<fontcolor='#339933'>√手机号码输入正确</font>";//向后台发送处理数据$.ajax({url:"UserAction_checkPhone.action",//目标地址data:{jbPhone:jbPhone},//目标参数type:"POST",//用POST方式传输dataType:"text",//数据格式:textsuccess:function(data){data=parseInt(data,10);if(data!=0){$("#jbPhoneTip").html("<fontcolor='red'>×该手机号码已经被注册,请重新输入</font>");}else{$("#jbPhoneTip").html("<fontcolor='#339933'>√该手机号码可以注册,输入正确</font>");}}});returntrue;}}}//证件号码functioncheckjbCredentialsCode(){varjbCredentialsCode=document.form1.jbCredentialsCode.value;varreg=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;if(trim(jbCredentialsCode)==""){document.getElementById("jbCredentialsCodeTip").innerHTML="<fontcolor='red'>×证件号码不能为空</font>";returnfalse;}elseif(trim(jbCredentialsCode)!=""){if(!reg.test(jbCredentialsCode)){document.getElementById("jbCredentialsCodeTip").innerHTML="<fontcolor='red'>×请输入合法的证件号码</font>";returnfalse;}else{document.getElementById("jbCredentialsCodeTip").innerHTML="<fontcolor='#339933'>√证件号码输入正确</font>";//向后台发送处理数据$.ajax({url:"UserAction_checkCredentialsCode.action",//目标地址data:{jbCredentialsCode:jbCredentialsCode},//目标参数type:"POST",//用POST方式传输dataType:"text",//数据格式:textsuccess:function(data){data=parseInt(data,10);if(data!=0){$("#jbCredentialsCodeTip").html("<fontcolor='red'>×该证件号码已经被注册,请重新输入</font>");}else{$("#jbCredentialsCodeTip").html("<fontcolor='#339933'>√该证件号码可以注册,输入正确</font>");}}});returntrue;}}}//所在地区functioncheckjbSourceArea(){varjbSourceArea=document.form1.jbSourceArea.value;if(trim(jbSourceArea)==""){document.getElementById("jbSourceAreaTip").innerHTML="<fontcolor='red'>×请选择所在地区</font>";returnfalse;}else{document.getElementById("jbSourceAreaTip").innerHTML="<fontcolor='#339933'>√所在地区选择正确</font>";returntrue;}}//验证码functioncheckNumber(){varcheckNum=document.form1.checkNum.value;if(trim(checkNum)==""){document.getElementById("checkNumTip").innerHTML="<fontcolor='red'>×验证码不能为空</font>";returnfalse;}else{document.getElementById("checkNumTip").innerHTML="<fontcolor='#339933'>√验证码合格</font>";//向后台发送处理数据$.ajax({url:"UserAction_checkNum.action",//目标地址data:{checkNum:checkNum},//目标参数type:"POST",//用POST方式传输dataType:"text",//数据格式:textsuccess:function(data){data=parseInt(data,10);if(data!=0){$("#checkNumTip").html("<fontcolor='red'>×验证码错误</font>");}else{$("#checkNumTip").html("<fontcolor='#339933'>√验证码正确</font>");}}});returntrue;}}

五:后台action的代码:UserAction.java(这里只是调用了我们的第三方给提供的客户端代码的发送短信的方法,如果是调用其他的短信平台,可以换成他们的发送短信的方法,这里只是给大家做个参考)

[java]view plaincopy packagecn.gov.csrc.base.systemmanager.action;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.List;importjavax.annotation.Resource;importjavax.servlet.http.HttpServletResponse;importorg.apache.log4j.Logger;importorg.apache.struts2.convention.annotation.Action;importorg.apache.struts2.convention.annotation.Result;importorg.apache.struts2.convention.annotation.Results;importorg.springframework.context.annotation.Scope;importorg.springframework.security.authentication.encoding.MessageDigestPasswordEncoder;importorg.springframework.security.core.context.SecurityContextHolder;importorg.springframework.stereotype.Controller;importcn.gov.csrc.base.action.BaseAction;importcn.gov.csrc.base.log.service.LogService;importcn.gov.csrc.base.monUtil;importcn.gov.csrc.base.report.util.Env;importcn.gov.csrc.base.systemmanager.model.Count;importcn.gov.csrc.base.systemmanager.model.User;importcn.gov.csrc.base.systemmanager.service.CountService;importcn.gov.csrc.base.systemmanager.service.UserService;importcn.gov.csrc.base.util.WebContextUtil;importcom.sms.webservice.client.SmsReturnObj;importcom.sms.webservice.client.SmsWebClient;/***File:UserAction.java*Author:jiangsai*Version:1.1*Date:04/17/*Modify:*Description:用户*Copyrightcsrc*/@Controller()@Scope("prototype")@Results({@Result(name="success",location="/statics/report.jsp"),@Result(name="modifyPassword",location="/statics/modifyPassword.jsp")})publicclassUserActionextendsBaseAction<User>{privatestaticfinallongserialVersionUID=1214696686677691191L;privatestaticLoggerlog=Logger.getLogger(UserAction.class);privatestaticfinalStringurl=Env.getInstance().getProperty("url");privatestaticfinalStringuserName=Env.getInstance().getProperty("username");privatestaticfinalStringpassWord=Env.getInstance().getProperty("password");privateIntegerid;privateStringusername;//用户名privateStringpassword;//密码privateStringpasswordRepeat;//确认密码privateStringjbPhone;//手机号码privateStringjbCredentialsCode;//身份证号码privateStringcheckNum;//图片验证码privateStringnewPassword;privateStringconfirmPassword;privateInteger[]ownRoleIds;privateUserServiceuserService;privateCountServicecountService;privateLogServicelogService;privateCountcount=newCount();publicIntegergetId(){returnid;}publicvoidsetId(Integerid){this.id=id;}publicStringgetUsername(){returnusername;}publicvoidsetUsername(Stringusername){this.username=username;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringgetPasswordRepeat(){returnpasswordRepeat;}publicvoidsetPasswordRepeat(StringpasswordRepeat){this.passwordRepeat=passwordRepeat;}publicStringgetJbPhone(){returnjbPhone;}publicvoidsetJbPhone(StringjbPhone){this.jbPhone=jbPhone;}publicStringgetJbCredentialsCode(){returnjbCredentialsCode;}publicvoidsetJbCredentialsCode(StringjbCredentialsCode){this.jbCredentialsCode=jbCredentialsCode;}publicStringgetCheckNum(){returncheckNum;}publicvoidsetCheckNum(StringcheckNum){this.checkNum=checkNum;}publicInteger[]getOwnRoleIds(){returnownRoleIds;}publicvoidsetOwnRoleIds(Integer[]ownRoleIds){this.ownRoleIds=ownRoleIds;}publicStringgetNewPassword(){returnnewPassword;}publicvoidsetNewPassword(StringnewPassword){this.newPassword=newPassword;}publicStringgetConfirmPassword(){returnconfirmPassword;}publicvoidsetConfirmPassword(StringconfirmPassword){this.confirmPassword=confirmPassword;}@ResourcepublicvoidsetUserService(UserServiceuserService){this.userService=userService;}publicUserServicegetUserService(){returnuserService;}@ResourcepublicvoidsetCountService(CountServicecountService){this.countService=countService;}publicCountServicegetCountService(){returncountService;}publicLogServicegetLogService(){returnlogService;}@ResourcepublicvoidsetLogService(LogServicelogService){this.logService=logService;}publicCountgetCount(){returncount;}publicvoidsetCount(Countcount){this.count=count;}publicvoidprepareToUpdatePage(){model=userService.getEntity(id);}/***用户登录**@returnsuccess*/@Action(value="UserAction_login")publicStringlogin(){Objectu=SecurityContextHolder.getContext().getAuthentication().getPrincipal();if(uinstanceofUser&&u!=null){WebContextUtil.getSession().setAttribute("user",u);Useruser=(User)u;//使用数据库表TBL_BASE_LOG添加用户登录的日志信息logService.saveTblBaseLog(WebContextUtil.getRequest(),"当前操作人【"+user.getNickname()+"】登录系统");}else{//防止绕过登陆页面直接执行Actionreturn"login";}returnSUCCESS;}/***用户密码更新*/@Action(value="UserAction_updateUser")publicStringupdateUser(){if(!newPassword.equals(confirmPassword)){this.setMessage("新密码与确认密码不一致!");return"modifyPassword";}Useru=(User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();MessageDigestPasswordEncoderencoder=newMessageDigestPasswordEncoder("md5");Stringpsw=encoder.encodePassword(newPassword,null);userService.modifyPassword(u,psw);this.setMessage("保存成功!");return"modifyPassword";}/***验证用户名是否存在**@throwsException*/@Action(value="UserAction_checkUserName")publicvoidcheckUserName(){Stringresult="0";try{List<User>list=userService.findUserByUserName(username);if(list!=null&&list.size()>0){result="1";}else{result="0";}HttpServletResponseresponse=WebContextUtil.getResponse();response.setContentType("application/json;charset=UTF-8");response.setHeader("Cache-Control","no-cache");PrintWriterout=response.getWriter();out.write(result.toString());}catch(IOExceptione){thrownewRuntimeException("验证身份证号码出错",e);}}/***验证原始密码是否正确**@throwsException*/@Action(value="UserAction_checkPassWord")publicvoidcheckPassWord()throwsException{Stringresult="0";MessageDigestPasswordEncoderencoder=newMessageDigestPasswordEncoder("md5");Stringpwd=encoder.encodePassword(password,null);List<User>user=userService.findUserByPassWord(pwd);if(user!=null&&user.size()>0){result="1";}else{result="0";}HttpServletResponseresponse=WebContextUtil.getResponse();response.setContentType("application/json;charset=UTF-8");response.setHeader("Cache-Control","no-cache");PrintWriterout=response.getWriter();out.write(result.toString());}/***验证手机号码是否存在*/@Action(value="UserAction_checkPhone")publicvoidcheckPhone(){Stringresult="0";try{List<User>list=userService.findUserByPhone(jbPhone);if(list!=null&&list.size()>0){result="1";}else{result="0";}HttpServletResponseresponse=WebContextUtil.getResponse();response.setContentType("application/json;charset=UTF-8");response.setHeader("Cache-Control","no-cache");PrintWriterout=response.getWriter();out.write(result.toString());}catch(IOExceptione){thrownewRuntimeException("验证手机号码出错",e);}}/***验证身份证号码是否存在*/@Action(value="UserAction_checkCredentialsCode")publicvoidcheckCredentialsCode(){Stringresult="0";try{List<User>list=userService.findUserByCredentialsCode(jbCredentialsCode);if(list!=null&&list.size()>0){result="1";}else{result="0";}HttpServletResponseresponse=WebContextUtil.getResponse();response.setContentType("application/json;charset=UTF-8");response.setHeader("Cache-Control","no-cache");PrintWriterout=response.getWriter();out.write(result.toString());}catch(IOExceptione){thrownewRuntimeException("验证身份证号码出错",e);}}/***验证验证码是否正确*/@Action(value="UserAction_checkNum")publicvoidcheckNum(){try{Stringresult="0";Stringcheck_number_key=(String)WebContextUtil.getSession().getAttribute("CHECK_NUMBER_KEY");if(checkNum!=check_number_key&&!checkNum.equals(check_number_key)){result="1";}else{result="0";}HttpServletResponseresponse=WebContextUtil.getResponse();response.setContentType("application/json;charset=UTF-8");response.setHeader("Cache-Control","no-cache");PrintWriterout=response.getWriter();out.write(result.toString());}catch(IOExceptione){thrownewRuntimeException("验证验证码出错",e);}}/***验证短信验证码是否正确**@throwsException*/@Action(value="UserAction_checkCode")publicvoidcheckCode()throwsException{Stringresult="0";/**获取手动输入的手机短信验证码*/StringSmsCheckCode=WebContextUtil.getRequest().getParameter("SmsCheckCode");/**获取session中存放的手机短信验证码*/Stringcode=(String)WebContextUtil.getSession().getAttribute("code");try{if(SmsCheckCode!=code&&!SmsCheckCode.equals(code)){result="0";}else{result="1";}}catch(Exceptione){thrownewRuntimeException("短信验证失败",e);}HttpServletResponseresponse=WebContextUtil.getResponse();response.setContentType("application/json;charset=UTF-8");response.setHeader("Cache-Control","no-cache");PrintWriterout=response.getWriter();out.write(result.toString());}/***验证手机短信是否发送成功**@throwsException*/@Action(value="UserAction_sms")publicvoidsms()throwsException{Stringresult="0";/**手机号码*/StringjbPhone=WebContextUtil.getRequest().getParameter("jbPhone");/**短信验证码*/Stringcode=WebContextUtil.getRequest().getParameter("code");/**短信验证码存入session(session的默认失效时间30分钟)*/WebContextUtil.getSession().setAttribute("code",code);/**如何初始化失败返回*/if(!initClient()){return;}/**单个手机号发送短信的方法的参数准备*///手机号码Stringmobilephone=jbPhone;//短信内容+随机生成的6位短信验证码Stringcontent="根据中国证监会举报中心委托,特向您发送此条短信。您的注册验证码为:"+code;//操作用户的IDIntegeroperId=Integer.parseInt(Env.getInstance().getProperty("operId"));//定时发送的的发送时间(缺省为空,如果即时发送,填空)Stringtosend_time="";//应用系统的短信ID,用户查询该短信的状态报告(缺省为0,即不需查询短信的状态报告)intsms_id=0;//黑名单过滤(0:不需要黑名单过滤,1:需要黑名单过滤,缺省为0)shortbacklist_filter=0;//禁止语过滤(0:不需要禁止语过滤,1:需要禁止语过滤,缺省为0)shortfbdword_filter=0;//优先级(值越大优先级越高,0:普通,1,:优先,2:最高,缺省为0)shortpriority=0;//短信有效时间(格式为:YYYY-MM-DDHH:mm:ss目前为空)Stringvalid_time="";/**发送短信之前先统计一个已经发送的短信条数*/intmessageCount=countService.findAllRecord(mobilephone);log.info("已发短信条数为:"+messageCount);if(messageCount<5){/**单个手机号发送短信*/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);log.info("短信验证码发送记录保存成功!");}}}else{result="2";//一个手机号码最多发送5条短信验证码log.info("该手机号码今天发送验证码过多");}HttpServletResponseresponse=WebContextUtil.getResponse();response.setContentType("application/json;charset=UTF-8");response.setHeader("Cache-Control","no-cache");PrintWriterout=response.getWriter();out.write(result.toString());}/***WebService客户端初始化**/publicstaticbooleaninitClient(){/***判断客户端是否已经初始化*/if(!SmsWebClient.enable()){intret=0;try{ret=SmsWebClient.init(url,userName,passWord);if(ret==-1||!SmsWebClient.enable()){log.info("短信平台接口初始化失败!");returnfalse;}log.info("短信平台接口初始化成功!"+ret+"-----");}catch(Exceptionex){ex.printStackTrace();log.info("短信平台接口初始化过程中异常!");}}returntrue;}/***单个手机号码发送**@parammobilephone*手机号*@paramcontent*短信内容*@paramoperId*操作用户的ID*@paramtosend_time*定时发送的发送时间*@paramsms_id*应用系统的短信ID*@parambacklist_filter*黑名单过滤*@paramfbdword_filter*禁止语过滤*@parampriority*优先级*@paramvalid_time*短信有效时间*/publicstaticbooleansendMessage(java.lang.Stringmobilephone,java.lang.Stringcontent,intoperId,java.lang.Stringtosend_time,intsms_id,shortbacklist_filter,shortfbdword_filter,shortpriority,java.lang.Stringvalid_time){//单个手机号码发送try{SmsReturnObjretObj=SmsWebClient.webSendMessage(mobilephone,content,operId,tosend_time,sms_id,backlist_filter,fbdword_filter,priority,valid_time);if(retObj.getReturnCode()!=1){log.info("短信发送失败,原因为:"+retObj.getReturnMsg());returnfalse;}else{log.info("短信发送成功!返回结果为:"+retObj.getReturnMsg());returntrue;}}catch(Exceptionex){ex.printStackTrace();log.info("短信发送过程发生异常!");}returntrue;}}

六:具体的短信接口demo到这里下,这里你下载了也不能成功的发送短信,因为你必须要短信平台商给你提供:url,userName,passWord,operId,以及短信平台商还要绑定你的外网ip地址,这样才能真正的发送短信。

Demo下载链接:/s/1qWt1Qdm

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。