Java 如何获取上次访问的时间?

Java 如何获取上次访问的时间?,java,servlets,httpsession,Java,Servlets,Httpsession,我想在用户注销后再次登录时,在用户的配置文件页面上显示上次访问的时间。我正在使用HttpSession。 我有三个仆人 登录 注销 轮廓 我应该在哪里使用long lastTime=session.getLastAccessedTime 代码如下: 登录 注销 侧面图 当用户注销时,在数据库中存储一个数据,并在下次使用它。这是一个很好的方法。我认为如果服务器重新启动,其他方法将不起作用。在用户会话结束时或根据您的要求存储在db中。如果您想使用HttpSession listener查看会话。ge

我想在用户注销后再次登录时,在用户的配置文件页面上显示上次访问的时间。我正在使用HttpSession。 我有三个仆人

登录 注销 轮廓 我应该在哪里使用long lastTime=session.getLastAccessedTime

代码如下:

登录

注销

侧面图


当用户注销时,在数据库中存储一个数据,并在下次使用它。这是一个很好的方法。我认为如果服务器重新启动,其他方法将不起作用。在用户会话结束时或根据您的要求存储在db中。如果您想使用HttpSession listener查看会话。getLastAccessedTime与身份验证无关。这是JSSessionID={sessionId}的最后一个请求的时间。那我怎么才能得到用户的最后一次登录时间呢?请告诉我。你需要自己实现这样的功能。在用户对象上添加lastAuthenticatedOn属性,并在身份验证结束时更新它。
    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);
    }
    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");