SpringMVC拦截器的用法

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2021-02-25 06:50 被阅读0次

上一篇 <<<过滤器与拦截器的区别
下一篇 >>>SpringMVC异步实现方式


添加拦截器

public class MyInterceptor implements HandlerInterceptor {

    //目标方法被请求到之前执行
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("<<<<<<<preHandle被执行到>>>>>>>>>>");
        //return false表示不执行目标方法,true表示放行继续执行目标方法
        return true;
    }

    //目标方法执行完成,但视图未渲染
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("<<<<<<<postHandle被执行到>>>>>>>>>>");
    }

    //视图渲染完成,整个DispatcherServlet已执行完成,一般用于清理等
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("<<<<<<<afterCompletion被执行到>>>>>>>>>>");
    }
}

配置拦截器

@Configuration
@ComponentScan(basePackages = {"com.jarye.controller", "com.jarye.service"})
//@EnableAsync
@EnableWebMvc
//public class MyConfig extends WebMvcConfigurationSupport {

public class MyConfig implements WebMvcConfigurer {
    
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(myInterceptor()).addPathPatterns("/**");
    }
}


推荐阅读:
<<<Spring Servlet相关知识
<<<Spring原理汇总及零碎知识点
<<<Web项目的启动方式汇总
<<<SpringMVC底层无web.xml启动原理分析
<<<SpringMVC运行流程
<<<DispatcherServlet执行原理分析
<<<过滤器与拦截器的区别
<<<SpringMVC异步实现方式
<<<@Async注解的失效之谜
<<<SpringMVC适配器类型汇总

相关文章

网友评论

    本文标题:SpringMVC拦截器的用法

    本文链接:https://www.haomeiwen.com/subject/hdjuxltx.html