记住我 验证码

package cn.itcast.elec.util;

 

import java.net.URLEncoder;

 

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.apache.commons.lang.StringUtils;

 

public class LogonUtils {

 

/**判断验证码输入是否正确*/

public static boolean checkNumber(HttpServletRequest request) {

//获取页面的验证码

String checkNumber = request.getParameter("checkNumber");

if(StringUtils.isBlank(checkNumber)){

return false;

}

//获取从Session中生成的验证码

String CHECK_NUMBER_KEY = (String) request.getSession().getAttribute("CHECK_NUMBER_KEY");

if(StringUtils.isBlank(CHECK_NUMBER_KEY)){

return false;

}

//从页面中获取输入的验证码和Session中生成的验证码进行比对

return checkNumber.equalsIgnoreCase(CHECK_NUMBER_KEY);

}

 

/**添加记住我的功能*/

public static void remeberMe(String name,String password,HttpServletRequest request,

HttpServletResponse response) {

//创建2个Cookie,一个存放用户名,一个存放密码

//如果name中存在中文,需要进行转码

try {

name = URLEncoder.encode(name, "UTF-8");

} catch (Exception e) {

e.printStackTrace();

}

Cookie nameCookie = new Cookie("name", name);

Cookie passwordCookie = new Cookie("password", password);

//设置Cookie的有效路径,项目的根路径

nameCookie.setPath(request.getContextPath()+"/");

passwordCookie.setPath(request.getContextPath()+"/");

/**

* 获取页面记住我对应的复选框remeberMe的值

     * 如果值为yes:设置Cookie的有效时间(1周)

     * 如果值为null:清空Cookie的有效时间

*/

String remeberMe = request.getParameter("remeberMe");

if(remeberMe!=null && remeberMe.equals("yes")){

//设置Cookie的有效时间(1周)

nameCookie.setMaxAge(60*60*24*7);

passwordCookie.setMaxAge(60*60*24*7);

}

else{

nameCookie.setMaxAge(0);

passwordCookie.setMaxAge(0);

}

//将Cookie放置到Response对象中

response.addCookie(nameCookie);

response.addCookie(passwordCookie);

}

 

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值