您的位置:首页 > 财经 > 金融 > 天眼查公司查询企业查询官网_办理咨询公司需要什么条件_适合交换友情链接的是_seo蜘蛛屯

天眼查公司查询企业查询官网_办理咨询公司需要什么条件_适合交换友情链接的是_seo蜘蛛屯

2025/4/3 3:02:20 来源:https://blog.csdn.net/tunan666/article/details/146464132  浏览:    关键词:天眼查公司查询企业查询官网_办理咨询公司需要什么条件_适合交换友情链接的是_seo蜘蛛屯
天眼查公司查询企业查询官网_办理咨询公司需要什么条件_适合交换友情链接的是_seo蜘蛛屯

拦截器的简介

拦截器(Interceptor)​是Spring框架中的概​念,它同样适​用于Spring Boot,​因为Spring Boot是基于Spring框架的。拦截器是​一种AOP(面向切面编程)​的轻量级实现方式,它允许我们在请求处理之前、请求处理之后及请求完成视图渲染完毕后执行一些自定义逻辑。

拦截器的生命周期

拦截器的生命周期主要包含三个关键方法:

preHandle:在请求到达Controller之前执行,返回true表示继续执行后续处理,返回false表示中断后续处理。通常用于身份验证和授权、日志记录等。

postHandle:在Controller执行之后,视图渲染之前执行。可以对模型数据进行操作或对视图进行处理。

afterCompletion:在整个请求处理完成并且视图渲染完毕后执行,通常用于释放资源或者记录日志。

拦截器的使用

1、定义拦截器

创建一个类实现HandlerInterceptor接口,并实现preHandle、postHandle和afterCompletion方法

@Slf4j
public class AccessInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 在请求到达Controller之前执行// 可以进行身份验证和授权、日志记录等log.info("preHandle:{}", System.currentTimeMillis());return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {// 在Controller执行之后,视图渲染之前执行// 可以对模型数据进行处理或对视图进行处理log.info("postHandle:{}", System.currentTimeMillis());}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception {// 在整个请求处理完成并且视图渲染完毕后执行// 可以进行资源的释放或者记录日志等log.info("afterCompletion:{}", System.currentTimeMillis());}
}

2、配置拦截器

创建一个配置类实​现WebMvcConfigurer接口​,覆盖addInterceptors方法,将拦截器注册到应用程序中

@Configuration
public class InterceptorConfig implements WebMvcConfigurer {@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new AccessInterceptor()).addPathPatterns("/**");}
}

在上述示例中,AccessInterceptor将拦截所有的请求

总结

拦截器主要用于身份验证和授权、日志记录、性能检测、通用行为的处理(如跨域处理、时区信息设置等),通过使用拦截器,我们可以在请求处理的不同阶段插入自定义逻辑,增强应用程序的功能和安全性。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com