ssm框架简单实现用户登录以及记住我
登录:
实现登录功能需要得到用户在前台输入的数据,在后台根据得到的用户名密码去数据库查询。
根据用户名查询:如果查询的用户结果是null,说明没有该用户,响应一个信息给前台。如果查询到用户不是null,说明有这个用户,这时需要比较用户输入的秘密,和数据库查到的密码是否相同,如果不相同说明密码错误。成功则登陆成功。
记住我:
记住我功能:是在用户名密码都输入正确的情况下,如果用户点击了记住我,会在记住我的input标签设置一个value属性
<input type="checkbox" value="1" id="remember" name="remember"><span class="label-text">记住我</span>
如果value值为null,说明没有勾选记住我,如果勾选了记住我,将这个remember传给后台,判断是否等于null,不是null说明勾选了记住我。
确认勾选后,在后台将正确的用户名密码存在cookie中,浏览器拿到cookie,解析出相应用户名密码,设置在输入框,这样就实现了记住我功能。
如果确认记住我功能是否实现:
在浏览器打开F12,打开network,查看相应的请求,header,查看Request Headers,cookie可以看见是否存入成功。
取消记住我,就比较简单了,判断传过来的remember是否为null’,如果是null说明取消了记住我。
//从浏览器拿到cookie
Cookie[] cookies = req.getCookies();
//循环拿到每个cookie
for (Cookie c : cookies) {
if (c.getName().equals("username")) {
c.setPath("/");
//清除cookie
c.setMaxAge(0);
resp.addCookie(c);
}else if (c.getName().equals("password")) {
c.setPath("/");
c.setMaxAge(0);
resp.addCookie(c);
}
}