session
存用户信息
session.setAttribute("username",username);
取用户信息
session.getAttribute(name);
生命周期
服务端只要web应用重启就销毁,客户端只需浏览器关闭就销毁。
退出登录
//获取session销毁
HttpSession session = req.getSession();
//销毁session的方法
session.invalidate();
cookie
存用户信息
Cookie cookie = new Cookie("name",username);
resp.addCookie(cookie);
读取用户信息
通过遍历的方式读取到cookie
Cookie[] cookies = req.getCookies();
for (Cookie cookie:cookies){
if (cookie.getName().equals("name")) {
out.write("欢迎回来"+cookie.getValue());
}
}
生命周期
不随服务器的重启而销毁,默认关闭浏览器就销毁,我们通过setMaxAge()方法设置有效期,一旦设置了有效期,则不随浏览器关闭而销毁,而是由设置时间决定。
cookie.setMaxAge(0);
工作流程
cookie
1.首先访问到了cookie_login.jsp,输入用户名和密码正确的话添加cookie,重定向到cookiewelcome.jsp,否则再跳转回cookie_login.jsp。
2.cookiewelcome.jsp
//检测获取cookie值
Cookie[] cookies = request.getCookies();
//判断输出用户名
for (Cookie cookie:cookies) {
if(cookie.getName().equals("name")) {
out.write("欢迎回来"+cookie.getValue());
}
}
登陆完毕退出登录
退出登录代码见上
<a href="/cookieLogout">退出登录</a>