SpringMVC的HandlerInterceptor介绍

1 Interceptor用法介绍

上代码,简单的东西就这摸直截了当

public class LoginInterceptor implements HandlerInterceptor {

    //在controller执行之前执行此方法,只有此方法返回true时controller才会执行
    @Override
    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {


        return true;
    }
//该方法将在请求处理之后,DispatcherServlet进行视图返回渲染之前进行调用,可以在这个方法中对Controller 处理之后的ModelAndView 对象进行操作
    @Override
    public void postHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler,
            ModelAndView modelAndView) throws Exception {


    }
//该方法也是需要当前对应的Interceptor的preHandle方法的返回值为true时才会执行,该方法将在整个请求结束之后,也就是在DispatcherServlet 渲染了对应的视图之后执行。用于进行资源清理。
    @Override
    public void afterCompletion(HttpServletRequest request,
            HttpServletResponse response, Object handler, Exception ex)
            throws Exception {


    }

}
在springmvc的xml文件配置如下即可:

<mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/order/**"/>
            <bean class="com.zzl.order.interceptor.LoginInterceptor" />
        </mvc:interceptor>
    </mvc:interceptors>
除此以外还要注意多个Interceptor的执行顺序 大家看这个吧 https://blog.csdn.net/weixin_39214481/article/details/80030609
原文地址:https://www.cnblogs.com/zzl521/p/10134050.html