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 ...
随机推荐
- C++第三章课后作业答案及解析---指针的使用
今天继续完成上周没有完成的习题---C++第三章课后作业,本章题涉及指针的使用,有指向对象的指针做函数参数,对象的引用以及友元类的使用方法等 它们具体的使用方法在下面的题目中会有具体的解析(解析标注在 ...
- Session的数据共享
要体现出Session的数据共享,需要建立两个Servlet: 第一个:建立Session,将值设置为Tom. protected void doGet(HttpServletRequest requ ...
- cube.js 学习(七)cube.js type 以及format 说明
cube.js 对于measure以及dimension 提供了丰富的数据类型,基本满足我们常见应用的开发,同时对于不同类型也提供了 格式化的操作 measure类型 number 格式 purc ...
- C结构体struct 和 共用体union的使用测试
#include <stdio.h> struct { char name[10]; char sex; char job; int num; union{ //联合只能共用同一个内存 i ...
- Spoj PRIME1 - Prime Generator
题意翻译 求给定的两个数之间的素数 Translated by @kaiming 题目描述 Peter wants to generate some prime numbers for his cry ...
- Java中的读文件,文件的创建,写文件
前言 大家好,我是 Vic,今天给大家带来Java中的读文件,文件的创建,写文件的概述,希望你们喜欢 示意图 读文件 public static void read(String path,Strin ...
- Ceph osd故障恢复
1 调高osd的日志等级 加上红框那一行就可以了 osd的日志路径:/var/log/ceph/ceph-osd.3.log 注意:加上了这一行后日志会刷很多,所以要特别注意日志容量的变化,以防把v ...
- SDOI2015做题记录
由于我懒,并且这里面除了D2T3恶心以外都不难写,所以很多代码都没写-- 排序 对于某一个合法的操作序列(操作序列定义为每次交换的两组数),可以随意交换顺序,仍然合法.所以对于一个操作集合,答案就加\ ...
- 坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'
右键运行pytest run时报错,原因是pytest版本过高导致的.有时候会遇到在自己本机没问题,拉取服务器代码下来后就出问题了,所以把pytest版本改低就可以,亲测有效,希望对你有帮助 完整报错 ...
- 7、vueJs基础知识07
UI组件库 element-ui和mint-ui 其实都是借鉴了bootstrap bootstrap: 由twitter 开源 简洁.大方 官网文档https://www.bootcss.com/ ...