上一篇 <<<过滤器与拦截器的区别
下一篇 >>>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适配器类型汇总
网友评论