jsp记住账号密码
本文介绍使用Cookie来实现记住账号密码操作
什么是Cookie?
Cookie是客户端访问服务器时,服务器在客户端硬盘上存放的信息。Cookie是服务器通知客户端保存键值对的一种技术。
Cookie的用途:
Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。
Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭页面时,就马上清除Cookie,不会记录用户信息,更加安全。
Cookie生命控制
Cookie的生命控制指的是如何管理Cookie什么时候被销毁(删除)。
setMaxAge()
正数,表示在指定的秒数后过期
负数,表示浏览器一关,Cookie就会被删除(默认值是-1)
零,表示马上删除Cookie
Cookie实现记住密码
首先需要引入Cookie插件:
<script src="${ctp}/static/js/js.cookie.js"></script>
${ctp}得到项目的路径
<%
pageContext.setAttribute("ctp", request.getContextPath());
%>
js.cookie.js存放路径:
// 记住登录信息 30天有效期
function rememberLogin(username, password, checked) {
Cookies.set('loginStatus', {`在这里插入代码片`
username: username,
password: password,
remember: checked
}, {expires: 30, path: ''})
}
// 若选择记住登录信息,则进入页面时设置登录信息
function setLoginStatus() {
var loginStatusText = Cookies.get('loginStatus');
if (loginStatusText) {
var loginStatus;
try {
loginStatus = JSON.parse(loginStatusText);
$('#id').val(loginStatus.username);
$('#passwd').val(loginStatus.password);
$("#remember").prop('checked',loginStatus.remember);
} catch (__) {}
}
}
点击登录之前:
// 设置登录信息
setLoginStatus();
判断是否需要记住登录信息:
if(remember){
rememberLogin(id,password,true);
}else {
Cookies.set('loginStatus', {
}, {expires: 0, path: ''});
}