首先创建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>
完成