たとえば、Spring MVC 3.2 でセッション タイムアウトを処理する方法は、30 分後に index.html にリダイレクトする必要があります。
インターセプターで試してみましたが、web.xml で指定されたセッション タイムアウト値が無視されました。
spring-servlet.xml
<mvc:interceptors>
<bean class="com.server.utils.AuthenticationTokenInterceptor" />
</mvc:interceptors>
web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
@Override
public boolean preHandle(HttpServletRequest request,HttpServletResponse response, Object handler) throws Exception {
try
{System.out.println("Inside Interceptor");
HttpSession session = request.getSession();
String authToken = (String) session.getAttribute("userId");
System.out.println("Interceptor invoked For Auth token");
if(authToken==null || authToken.equals(""))
{
System.out.println("Auth Token time Out");
response.sendRedirect(servletContext.getContextPath()+"/login");
return false;
}
else
{
return true;
}
}catch(Exception ex)
{
ex.getMessage();
response.sendRedirect(servletContext.getContextPath()+"/login");
return false;
}
}
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
}