一、创建拦截器
创建拦截器类,实现HandlerInterceptor接口,重写preHandle方法,postHandle方法
@Slf4j
public class MyInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//在请求处理之前进行拦截处理
log.info("测试拦截器------preHandle");
//返回true表示继续执行请求,返回false表示停止执行请求
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
//在请求处理之后进行拦截处理
log.info("测试拦截器------postHandle");
}
}二、 创建拦截器配置类
创建拦截器配置类,实现WebMvcConfigurer接口,重写addInterceptors方法,并用@Configuration注解标注该类为配置类
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/test/**");
}
}在addInterceptors方法中把刚才创建的拦截器添加进去,并设置拦截的路径;(也可以通过excludePathPatterns方法设置排除的路径)
三、编写Controller类
@RestController
@RequestMapping("/test")
public class TestController {
@GetMapping("/test1")
public void test1() {
log.info("测试业务处理");
}
}四、测试效果
我们发起请求,可以在控制台得到这样的日志
测试拦截器------preHandle
测试业务处理
测试拦截器------postHandle
本文介绍了如何在SpringMVC中创建拦截器,包括实现HandlerInterceptor接口,重写preHandle和postHandle方法。接着,展示了如何配置拦截器,通过WebMvcConfigurer接口的addInterceptors方法添加拦截器并设定拦截路径。最后,通过一个简单的Controller示例展示了拦截器在处理请求前后的日志输出效果。
2793

被折叠的 条评论
为什么被折叠?



