Here’s what you need to have in your *-servlet.xml file:
<context:annotation-config />
<context:component-scan base-package="com.travelfusion.tfweb.guide.controller" />
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<ref bean="myInterceptor" />
</property>
</bean>
<bean id="myInterceptor" class="com.company.MyInterceptor">
<property name="openingTime"><value>9</value></property>
<property name="closingTime"><value>18</value></property>
</bean>
And your interceptor class something like:
public class MyInterceptor implements HandlerInterceptor {
private int openingTime;
private int closingTime;
@Override
public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception {
// TODO Auto-generated method stub
}
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception {
// TODO Auto-generated method stub
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
Calendar cal = Calendar.getInstance();
int hour = cal.get(HOUR_OF_DAY);
if (openingTime <= hour < closingTime) {
return true;
} else {
response.sendRedirect("http://host.com/outsideOfficeHours.html");
return false;
}
}
}