第一步:实现一个接口【HandlerInterceptor】
//执行时机:controller已经执行,modelandview已经返回
//使用场景:记录日志
public void afterCompletion(HttpServletRequest request , HttpServletResponse response, Object obj, Exception e) throw Exception{
//TODO
}
//执行时机--》Controller方法执行了,ModelAndView没返回
//场景:可以在此方法中设置全局的数据处理业务
public void postHandle(HttpServletRequest request , HttpServletResponse response, Object obj, ModelAndView modelandview) throw Exception{
//TODO
}
//拦截内容---->如果是true则放行,如果是flase则被拦住
//执行时机:controller方法没执行,ModelAndView没返回
//使用场景:权限验证或者Session
public boolean preHandle(HttpServletRequest request , HttpServletResponse response, Object obj){
//TODO
}
第二步:配置springmvc.xml
使用标签
<mvc:interceptors>
<mvc:interceptor>
//拦截请求的路径,要拦截所有的要配置成/**
<mvc:mapping path="/**">
//指定拦截器的位置
<bean class="配置实现类"></bean>
</mvc:interceptor>
</mvc:interceptors>