记住我 验证码

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);

}

 

}

 

你可能感兴趣的:(验证码)