response.getWriter().write的用法
/** * 获取手机验证码的方法 */ var loopObjBindMobil = null; var secondsBindMobil = 0; function hqBindYzm(moblieName, phoneErrorMessage, getMobilCodeButton) { var successmobileToken = $("#successmobileToken").val(); var phoneValue = $("#" + moblieName).val(); if (secondsBindMobil > 0) { return; } if ($("#" + getMobilCodeButton).attr("disabled")) { return; } $("#" + getMobilCodeButton).attr("disabled", "disabled"); if (phoneValue != "") { if (onBlurMobilInput()) { $.post( appPath + "/memberCenter/getValidateCount.html", { phone: phoneValue }, function (data) { if (data == "have") { $("#" + phoneErrorMessage).text("手机已被人验证"); $("#" + getMobilCodeButton).removeAttr("disabled"); } else { $.post( appPath + "/memberCenter/sendPhoneCode.html", { mobileToken: successmobileToken, phoneNum: phoneValue }, function (data) { if (data == "yes") { // $("#mobiletext").show(); clearInterval(loopObjBindMobil); secondsBindMobil = 60; loopObjBindMobil = window.setInterval(function () { UpdateTime(getMobilCodeButton); }, 1000); } else if (data == "yyz") { $("#" + phoneErrorMessage).html("此账号已验证手机,无需再次验证,请到账户安全查看已验证手机"); $("#" + getMobilCodeButton).removeAttr("disabled"); } else if (data == "errorNum") { $("#" + phoneErrorMessage).html("非健一网来客!"); $("#" + getMobilCodeButton).removeAttr("disabled"); } }); } } ); } else { $("#mobilName").removeClass('text bian-01'); $("#mobilName").addClass('text bian-02'); $("#mobilStyle").removeClass('correct'); $("#mobilStyle").addClass('error'); $("#mobilErrorMsg").text('请输入正确的手机号'); $("#" + getMobilCodeButton).removeAttr("disabled"); return false; } } else { $("#mobilName").removeClass('text bian-01'); $("#mobilName").addClass('text bian-02'); $("#mobilStyle").removeClass('correct'); $("#mobilStyle").addClass('error'); $("#mobilErrorMsg").text('请输入手机号'); $("#" + getMobilCodeButton).removeAttr("disabled"); return false; } }
@RequestMapping(value = "/sendPhoneCode") @J1Page @SeoInfo public void sendPhoneCode(HttpSession session, HttpServletRequest request, HttpServletResponse response, MyMemberInfoPageInputVo inputVo, @ModelAttribute("model") MyMemberInfoPageModel model) { String phoneNum = "";// 手机号码 String loginName = null; try { // if (request.getParameter("phoneNum") != null) { // phoneNum = request.getParameter("phoneNum").trim(); // } if (inputVo.getPhoneNum() != null) { phoneNum = inputVo.getPhoneNum().trim(); } // String num = request.getParameter("mobileToken"); String num = inputVo.getMobileToken(); if (StringUtil.isNotEmpty(num)) { String code; response.setContentType("text/html;charset=utf-8"); if (request.getSession().getAttribute("loginName") != null) { loginName = request.getSession().getAttribute("loginName").toString(); } if (loginName != null) { Member getMember = memberService.findMemberByLoginName(loginName); if (!"Y".equals(getMember.getMobileState())) { sendCode(request, response, loginName, num, phoneNum); } else { response.getWriter().write("yyz"); } } else { response.getWriter().write("errorNum"); } } else { response.getWriter().write("errorNum"); } } catch (IOException e) { // TODO Auto-generated catch block logger.error(e.getMessage(), e); } } public void sendCode(HttpServletRequest request, HttpServletResponse response, String loginName, String num, String phoneNum) { int validateCount = 1;// 验证的次数 Boolean canSendSms = true;// 是否能发短信 try { newMemberNameMapPhone = (Map<String, String>) cache.get(loginName + "newMemberNameMapPhone"); if (newMemberNameMapPhone == null) { newMemberNameMapPhone = new HashMap<String, String>(); } // 手机验证码 String code = RandomUtils.generateNumberString(6);// 手机验证码 String nowDay = StringUtil.returnDateFormat(new Date(), "yyyy-MM-dd"); String mobileValue = newMemberNameMapPhone.get(loginName);// 获取这个用户手机验证的value if (mobileValue == null) {// 说明该用户没有验证过手机记录 newMemberNameMapPhone.put(loginName, code + "_" + 1 + "_" + nowDay + "_" + phoneNum + "_" + num); } else { String[] strArr = mobileValue.split("_"); if (nowDay.equals(strArr[2])) {// 这天验证的次数 validateCount += 1; newMemberNameMapPhone.put(loginName, code + "_" + validateCount + "_" + nowDay + "_" + phoneNum + "_" + num); } else { newMemberNameMapPhone.put(loginName, code + "_" + 1 + "_" + nowDay + "_" + phoneNum + "_" + num); } } // 验证存放到cache里面 cache.put(loginName + "newMemberNameMapPhone", newMemberNameMapPhone, 30); // if (canSendSms.equals(true)) { Sms sms = new Sms(); sms.setMobile(phoneNum); sms.setMsg("尊敬的用户 , 您在健一网的安全验证码为" + code + ",健一网祝您身体健康"); long time = new Date().getTime(); long preTime = sendMessageService.getMsg(sms.getMobile() + num, time); long differenceTime = time - preTime; // if (differenceTime > 0 && differenceTime < 60000) { // response.getWriter().write("no"); // } else { sendMessageService.sendMessageForCode(sms, num); response.getWriter().write("yes"); // } // } else { // response.getWriter().write("no"); // } } catch (IOException e) { // TODO Auto-generated catch block logger.error(e.getMessage(), e); } }
response.getWriter().write的用法的更多相关文章
- out.print()和response.getWriter().write()区别
1.print()和write()区别: write():表示的是仅支持输入字符类型数据,字符,字符数组和字符串等, print():表示的是将各种数据类型(包括object)的数据通过默认编码换成b ...
- 关于response.getWriter()写回数据的实际发生时间点
只能说自己平时太粗心了,一些细节问题虽然几次路过,都没有注意过,也没有好好想过. 同事负责的一段微信模块的小逻辑,为了防止微信服务器认为没有接收到请求而重发消息,所以再收到微信服务器发回的消息后,马上 ...
- [转]response.getWriter().write()与out.print()的区别
原文地址:http://blog.csdn.net/javaloveiphone/article/details/8133772 1.首先介绍write()和print()方法的区别: (1).w ...
- response.getWriter().write()与out.print()的区别
1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等 (2).print():可以将各种类型(包括Object)的数据通 ...
- PrintWriter out = response.getWriter() 输出中文乱码问题
HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncod ...
- response.getWriter().write()与out.print()的区别 (转)
来自:http://www.cnblogs.com/zhwl/p/3623688.html 1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字 ...
- response.getWriter().write()与out.print()的区别(转)
1.首先介绍write()和print()方法的区别: (1).write():仅支持输出字符类型数据,字符.字符数组.字符串等 (2).print():可以将各种类型(包括Object)的数据通 ...
- response.getWriter().write()产生乱码
Struts1中通过action, return到页面的时候,如果代码中使用到response.getWriter().write(),那么有可能jsp页面中汉字会变成乱码.百度上有人说改为respo ...
- 工具类:关于解决数据库中的日期格式,经过response.getWriter().write(json)打到前台日期格式混乱的问题的总结
经过response.getWriter().write(json)打到前台日期格式混乱的问题的总结 import java.text.SimpleDateFormat;import net.sf.j ...
随机推荐
- bug的编写技巧与级别划分
一.bug编写技巧 确.清晰.简洁.完整.一致 二.bug包含的要素 缺陷ID.缺陷标题.测试环境.缺陷发现日期时间.缺陷提交人 缺陷优先级.缺陷严重等级.发现缺陷软件版本.测试类型 缺陷复现步骤.期 ...
- [NgRx] NgRx Data Fetching Solution - How to Load Data Only If Needed
We have a reoslver, which everytime we want visit '/courses' route, it will be triggered, then api w ...
- go条件变量同步机制
sync.Cond代表条件变量,需要配置锁才能有用 package main import ( "fmt" "runtime" "sync" ...
- 初【001】——Python 基础知识
1.python基础入门 提示: 语法基于python3.x版本(会提示2.x版本和3.x版本的区别) Python命令行将以>>>开始,比如 >>>print ( ...
- YAML_03 用playbook安装Apache,修改端口,配置ServerName,修改主页,设置开机自启
ansible]# vim http.yml --- - hosts: cache remote_user: root tasks: - name: install one speci ...
- 浏览器在线预览pdf、txt、office文件
//使用文件预览的原因是:TMD微信浏览器屏蔽掉文件下载链接,只好折中使用文件在线预览功能//要点:1.office文件用微软的插件打开 http://view.officeapps.live.com ...
- [c++11]右值引用、移动语义和完美转发
c++中引入了右值引用和移动语义,可以避免无谓的复制,提高程序性能.有点难理解,于是花时间整理一下自己的理解. 左值.右值 C++中所有的值都必然属于左值.右值二者之一.左值是指表达式结束后依然存在的 ...
- typescript 错误记录
经常遇到 typescript 的编译错误,虽然可以绕过去,不过既然采用了,还是解决问题,了解其中的思想比较重要. 一般遇到错误码 error TS2304: Cannot find name ... ...
- GO语言html模板
模板 一个模板是一个字符串或一个文件,里面包含了一个或多个由双花括号包含的{{action}}对象.大部分的字符串只是按面值打印,但是对于actions部分将触发其它的行为.每个actions都包含了 ...
- 批量添加解释-有单词没解释youdao
下载地址: 有单词没解释 批量查询解释 当你有手里很多单词,数量很大比如500个及单词以上,那么一个一个去查询是相当麻烦的. 如果 有个软件实现批量查询然后将查询的结果添加到单词的后面,是不 ...