首先必须登录成功,如果“记住用户名”打勾,那么保存username到cookie中:
if (isRememberUsername != null && isRememberUsername.equals("true")) {
// 如果勾选,保存cookie数据
Cookie cookie = new Cookie("username", username);
cookie.setMaxAge(60*60*24*7);
ServletActionContext.getResponse().addCookie(cookie);
System.out.println("保存Cookie~~~");
}
反之,删除名字是username的cookie:
else {
// 如果不勾选,删除cookie数据
Cookie[] cookies = ServletActionContext.getRequest().getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if (cookie.getName().equals("username")) {
cookie.setMaxAge(0); // 删除
ServletActionContext.getResponse().addCookie(cookie);
System.out.println("删除Cookie~~~");
}
}
}
}
重启浏览器,进入登录页面,获取名字是username的cookie的值,保存到session中,然后在session中取值:
// 读取cookie
Cookie[] cookies = ServletActionContext.getRequest().getCookies();
for (Cookie cookie : cookies) {
if (cookie.getName().equals("username")) {
System.out.println("Cookie:" + cookie.getValue());
// 保存到session中
ActionContext.getContext().getSession().put("username", cookie.getValue());
}
}