Cookie详解
存储方式
键值对存储
Cookie c = new Cookie("key","value");
参数介绍
Cookie cookie = new Cookie("user","用户信息");
cookie.setMaxAge(24*60*60);
cookie.setPath("/");
response.addCookie(cookie);
获取Cookie
Cookie[] cookies = request.getCookies();
cookies.getName();
cookies.getValue();
删除Cookie
cookie.setMaxAge(0);
自动登录
后端代码
Cookie cookie = new Cookie("user",manage1.getUserName()+"&"+manage1.getPassWord()+"&true");
cookie.setPath("/");
String autoLogin = request.getParameter("autoLogin");
if ("ok".equals(autoLogin)){
System.out.println("自动登录:"+autoLogin);
log.info("用户选择了自动登录功能:{}",autoLogin);
cookie.setMaxAge(60*60*24*7);
}else{
cookie.setMaxAge(0);
}
response.addCookie(cookie);
request.getSession().setAttribute("user",manage1);
前端代码
<input type="checkbox" name="autoLogin" id="ziDong" value="ok" placeholder="自动登录">
<span>自动登录</span>
记住密码
后端代码
Cookie cookieJz = new Cookie("jzPass",manage1.getUserName()+"&"+manage1.getPassWord()+"&true");
cookieJz.setPath("/");
String jzPass = request.getParameter("jzPass");
if ("ok".equals(jzPass)){
System.out.println("-----------用户选择了记住密码功能:"+jzPass);
cookieJz.setMaxAge(60*60*24*7);
}else{
cookieJz.setMaxAge(0);
}
response.addCookie(cookieJz);
System.out.println("登陆成功,转到index首页面");
request.getRequestDispatcher("/WEB-INF/jsp/login/mIndex.jsp").forward(request,response);
return;
前端代码
<%
String username = "";
String password = "";
String jzPass = "";
Cookie[] cookies = request.getCookies();
if (cookies != null){
for (Cookie cookie:cookies){
//是否记住密码
if ("jzPass".equals(cookie.getName())){
String value = cookie.getValue();
String[] values = value.split("&");
username = values[0];
password = values[1];
jzPass = values[2];
}
}
}
%>
<script>
var jzPass = document.getElementById("jiZhu");
jzPass.checked = <%=jzPass %>;// 设置记住密码复选框为选中状态
</script>
<input type="checkbox" name="jzPass" id="jiZhu" value="ok" placeholder="记住密码">
<span>记住密码</span>
没有人陪你走一辈子,所以你要适应孤独;
没有人会帮你一辈子,所以你要一直奋斗。