- 什么是拦截器?
- 一种动态拦截方法调用的机制,类似于过滤器
- 拦截器是Spring框架中提供的,用来动态拦截控制器方法的执行
- 拦截器的作用:
- 拦截请求,在指定方法调用前后,根据业务需要执行预先设定的代码
- 拦截器使用步骤:
- 定义拦截器
- 注册配置拦截器
- 自定义拦截器:实现HandlerInterceptor接口,并重写其所有方法
-
//自定义拦截器 @Component public class LoginCheckInterceptor implements HandlerInterceptor { //目标资源方法执行前执行。 返回true:放行 返回false:不放行 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("preHandle .... "); return true; //true表示放行 } //目标资源方法执行后执行 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("postHandle ... "); } //视图渲染完毕后执行,最后执行 @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("afterCompletion .... "); } }
-
注意:
-
preHandle方法:目标资源方法执行前执行。返回true:放行;返回false:不放行
-
postHandle方法:目标资源方法执行后执行
-
afterCompletion方法:视图渲染完毕后执行,最后执行。
-
-
-
自定义配置拦截器:文章来源:https://www.toymoban.com/news/detail-408445.html
-
实现WebMvcConfigurer接口,并重写AddIntereptores方法文章来源地址https://www.toymoban.com/news/detail-408445.html
-
@Configuration public class WebConfig implements WebMvcConfigurer { //自定义的拦截器对象 @Autowired private LoginCheckInterceptor loginCheckInterceptor; @Override public void addInterceptors(InterceptorRegistry registry) { //注册自定义拦截器对象 registry.addInterceptor(loginCheckInterceptor).addPathPatterns("/**");//设置拦截器拦截的请求路径( /** 表示拦截所有请求) } }
-
到了这里,关于Interceptor的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!