使用Cookie保存用户登录名和密码

时间:2022-10-01 07:49:52

首先创建cookie,我这里只保存了登录名,如果要保存密码就需要将密码传入这个方法。其它步骤与创建用户名的一样,但是密码必须要加密再放到cookie


public static void addCookie(String telephone,HttpServletResponse response, HttpServletRequest request) throws UnsupportedEncodingException{
    if(StringUtils.isNotBlank(telephone)){
    	//创建cookie
    	Cookie nameCookie = new Cookie("telephone", URLEncoder.encode(telephone, "utf-8"));
    	nameCookie.setPath(request.getContextPath()+"/");//设置cookie路径
    	//设置cookie保存的时间 单位:秒
    	nameCookie.setMaxAge(7*24*60*60);
    	//将cookie添加到响应
    	response.addCookie(nameCookie);
    }
  }

然后在你的登录方法中登录成功的时候调用一下就可以了

result.setSuccess(true);
result.setMsg("登录成功");
session.setAttribute("user", user);
//用户首页
addCookie(telephone, response, request);
return ajaxJsonSuccessMessage("登录成功",response);

登录页面取出用户名和密码放到用户名密码输入框

<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<%
String telephone = "";
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length > 0){
	for(int i=0; i< cookies.length; i++){
		if(cookies[i].getName().equals("telephone")){
			telephone = URLDecoder.decode(cookies[i].getValue(),"utf-8");
		}
	}
}

%>


<input style="font-size: 17px;" name="telephone" id="telephone" type="text" value="<%=telephone %>" placeholder="账户名/电话">
<input style="font-size: 17px;" name="password" type="password" id="password" placeholder="请输入密码"></p>

完成