用户点击登录按钮后 判断当前账户是否存在
如果存在 并且勾选了记住帐号 使用cookie保存帐号密码
如果存在 但是没有勾选记住帐号 遍历cookie 删除帐号密码
//判断当前用户是否存在
if(loginDao.userLogin(loginUser)){
String [] isUseCookie=request.getParameterValues("isUseCookie");
if(isUseCookie!=null&&isUseCookie.length>0){
//把用户名和密码保存在Cookie对象
Cookie usernameCookie=new Cookie("username",loginUser.getUsername());
Cookie passwordCookie=new Cookie("password",loginUser.getPassword());
//保存帐号密码 3天=60*60*24*3
usernameCookie.setMaxAge(60*60*24*3);
passwordCookie.setMaxAge(60*60*24*3);
response.addCookie(usernameCookie);
response.addCookie(passwordCookie);
}
//如果未勾选记住帐号 从cookie中删除账户
else{
Cookie[] cookies=request.getCookies();
for(Cookie c:cookies){
if(c.getName().equals("username")||c.getName().equals("password")){
c.setMaxAge(0);//设置cookie失效
response.addCookie(c);
}
}
}
session.setAttribute("loginUser", loginUser);
request.getRequestDispatcher("LoginSuccess.jsp").forward(request, response);
}
else{
response.sendRedirect("LoginFailure.jsp");
}
等到下次登录的时候需要在登录页面判断cookie中是否存在帐号密码 如果存在 直接显示在输入框中
String username="";
String password="";
Cookie[] cookies=request.getCookies();
if(cookies!=null&&cookies.length>0)
{
for(Cookie c:cookies){
if(c.getName().equals("username")){
username=c.getValue();
}
if(c.getName().equals("password")){
password=c.getValue();
}
}
}
用户名:
密码:
运行结果如下:
全部代码: