我正在使用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会发生这种情况。任何帮助感激不尽。提前谢谢!
答案 0 :(得分:0)
AppFog支持哪种servlet规范?如果我没错,servlet> = 2.3
支持spring mvc Interceptor