1

我正在开发一个使用 Spring MVC-Hibernate 开发的 Java Web 应用程序。该应用程序在 Glassfish-3.1.2 和 Tomcat-6/7 上部署时运行良好。但是,当应用程序部署在AppFog(网站托管应用程序)上时,它无法保持会话,即用户登录到应用程序,但是,当他单击任何链接时,他会被重定向回登录页面。

发生这种情况是因为我创建了一个拦截器(SessionInterceptor)来检查每个请求的用户会话,以防会话过期,将应用程序重定向到登录页面。以下是我在 SessionInterceptor 类的 preHandle() 方法中编写的代码:

@Override
public boolean preHandle(HttpServletRequest request,
        HttpServletResponse response, Object handler) throws Exception {
    HttpSession session = request.getSession();
    if(!(handler instanceof HomeController || handler instanceof ForgetPasswordController)) {
        if(session.getAttribute("user") == null) {
            response.sendRedirect(request.getContextPath()+"/"+redirectMapping+"?msg=e");
            return false;
        } else {
            return true;
        }
    } else {
        return true;
    }
}

我不知道为什么 AppFog 会发生这种情况。任何帮助将不胜感激。提前致谢!

4

1 回答 1

0

AppFog 支持哪种 servlet 规范?如果我没记错的话,servlet >=2.3 支持 spring mvc 拦截器

于 2013-09-19T14:53:45.527 回答