拦截器(Inteceptors):
public class MyInteceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
return false;
}
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object o, ModelAndView mav) throws Exception {
}
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object o, Exception excptn) throws Exception {
}
}
拦截器需要实现 HandleInterceptor 接口,并实现其三个方法:
preHandle:拦截器的前端,执行控制器之前所要处理的方法,通常用于权限控制、日志,其中, Object o 表示下一个拦截器;
postHandle :控制器的方法已经执行完毕,转换成视图之前的处理;
afterCompletion :视图已处理完后执行的方法,通常用于释放资源;
在 MVC 的配置文件中,配置拦截器与需要拦截的 URL :
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/index.htm" /> <bean class="com.minx.crm.web.interceptor.MyInterceptor" /> </mvc:interceptor> </mvc:interceptors>