我希望在用户登录后再次登录时显示用户个人资料页面上的上次访问时间。我正在使用HttpSession。 我有三个servlet
我应该在哪里使用long lastTime = session.getLastAccessedTime();
这是代码,
登录
String name = request.getParameter("name");
String password = request.getParameter("password");
if (password.equals("admin123")) {
out.print("Welcome, " + name);
HttpSession session = request.getSession();
session.setAttribute("name", name);
} else {
out.print("Sorry, username or password error!");
request.getRequestDispatcher("login.html").include(request, response);
}
Lotout
HttpSession session = request.getSession();
session.invalidate();
out.print("You are successfully logged out!");
配置文件
HttpSession session = request.getSession(false);
if (session != null) {
String name = (String) session.getAttribute("name");
long lastTime = session.getLastAccessedTime();
out.print(lastTime + "last login time");
out.print("Hello, " + name + " Welcome to Profile");
答案 0 :(得分:0)
在用户注销时在db中执行一个商店存储并在下次使用它。这是一个很好的方法。如果服务器重新启动,我不认为其他方法会起作用。在用户会话结束时或根据您的要求存储在db中。如果您想要用户HttpSession监听器看看http://www.mkyong.com/servlet/a-simple-httpsessionlistener-example-active-sessions-counter/