在mvc动态应用程序中维护会话

时间:2014-03-17 11:09:59

标签: java session spring-mvc

我正在开发一个我自己的Web应用程序。我在我的应用程序中使用Spring-mvc3架构。我想在我的应用程序中添加身份验证。我想通过会话来做但不能这样做。我有创建了一个登录页面,登录后我能够进行身份验证并转到下一页并获取我在会话创建期间保存的数据。然后在导航到另一个页面后,我保存的会话数据丢失了,当我尝试获取会话ID我获得的新会话ID与验证时创建的会话ID不同,请检查并提供相应的答案。

@RequestMapping(value = "checkLogin.action")
public String validateLogin(
        @ModelAttribute("loginDto") LoginDto loginDetails,
        HttpServletRequest request) {

    boolean validUser;
    try {
        validUser = userDao.validateLogin(loginDetails);
        if (validUser) {
            HttpSession session = request.getSession();
            if (session.isNew()) {
                logger.debug("New Session is Created");
                System.out.println("Session id is" + session.getId());
            } else {
                logger.debug("Not a New Session");
                System.out.println("Session Id" + session.getId());
            }
            //session.setMaxInactiveInterval(1000);
            session.setAttribute("LoginData", loginDetails);
            session.setAttribute("loggedUser",true);

            return "home";
        }
        return "redirect:loginPage.action?message=Unable to Login invalid Id/Password";

    } catch (DaoException e) {
        logger.error("Problem in UserDao");
        return "redirect:loginPage.action?message=Unable to Login invalid Id/Password";

    } catch (Exception e) {
        logger.error("problem validating User Login");
        e.printStackTrace();
        return "redirect:loginPage.action?message=Unable to Login invalid Id/Password";
    }
}

这就是我在会话中设置数据的方式,并且能够在视图主页中检索该设置属性,如果我转到另一个视图,则无法获取该数据。 p>

我想知道使用锚标签导航到另一个页面会清除会话数据??????

0 个答案:

没有答案