RxJava编程语言爱好者Java服务器端编程

SpringMVC拦截器的用法

2021-02-25  本文已影响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适配器类型汇总

上一篇 下一篇

猜你喜欢

热点阅读