spring boot拦截器和过滤器,springboot过滤器作用

  spring boot拦截器和过滤器,springboot过滤器作用

  

目录

过滤器的方式拦截器的方式三种方式下面为大家一一对应

 

  过滤器的方式拦截器的方式

  

过滤器的方式

这种方式简单点但是可配置性不高

 

  注意:一定得扫描到春天容器中

  创建一个类实现过滤器接口

  init:该方法是对过滤器对象进行初始化的方法,仅在容器初始化过滤器对象结束后被调用一次,参数对象可以获得过滤器的初始化参数;doFilter:可以对请求和反应进行英语字母表中第二十一个字母预处理/u。其中过滤器链可以将处理后的请求和反应对象传递到过滤链上的下一个资源销毁():该方法在容器销毁对象前被调用.导入组织。SLF 4j。记录者;导入org。SLF 4j。伐木工厂;导入org。spring框架。刻板印象。组件;导入javax。servlet。*;导入javax。servlet。http。http servlet请求;导入Java。io。io异常;@Componentpublic类日志过滤器实现过滤器{私有静态最终记录器日志=记录器工厂。获取记录器(日志过滤器。类);@覆盖公共void init(过滤器配置过滤器配置)抛出servlet异常{ } @ Override public void do filter(servlet request servlet request,ServletResponse servletResponse,FilterChain filterChain)抛出IOException,ServletException { //打印请求信息http servlet请求request=(http servlet请求)servlet请求;LOG.info( - LogFilter开始- );LOG.info(请求地址: {} {} ,request.getRequestURL().toString()、request。get方法());LOG.info(远程地址请求: {} 。get remote addr());长启动时间=系统。当前时间毫秒();过滤器链。do过滤器(servlet请求,servlet响应);LOG.info( - LogFilter结束耗时:{} ms -,系统。当前时间毫秒()-开始时间);}}结果

  总结

  1.过滤器用来实现通用的功能,减少代码冗余,提高可维护性;

  2.一个过滤器可以配置给多个资源使用(编码过滤器);

  3.一个资源也可以配置多个过滤器,按照配置顺序调用。

  

拦截器的方式

如果不懂请先看了介绍再来

 

  拦截器的介绍

  话不说多直接上代码

  创建拦截器

  /** * 拦截器:弹簧框架特有的,常用于登录校验,权限校验,请求日志打印/登录* @ author : look-word * 2022-06-26 13:55 * */@ component public类登录接收器实现处理程序拦截器{私有静态最终记录器日志=记录器工厂。获取日志记录器(日志拦截器。类);@ Override public boolean preHandle(http servlet请求请求、HttpServletResponse响应、对象处理程序)引发异常{ //打印请求信息LOG.info( - LogInterceptor开始- );LOG.info(请求地址: {} {} ,request.getRequestURL().toString()、request。get方法());LOG.info(远程地址请求: {} 。get remote addr());长启动时间=系统。当前时间毫秒();请求。设置属性(请求开始时间,开始时间);返回true} @覆盖公共void post句柄(http servlet请求请求,HttpServletResponse响应,对象处理程序,ModelAndView modelAndView)抛出异常{长开始时间=(长)请求。get属性(“请求开始时间”);LOG.info( - LogInterceptor结束耗时:{} ms -,系统。当前时间毫秒()-开始时间);} }注册拦截器

  把我们的拦截器注册到拦截器链中

  /* * * * @作者: look-word * 2022-06-26 14:03 * */@配置公类SpringMvcConfig实现WebMvcConfigurer { @ Resource私有日志侦听器日志侦听器;/** * 注册拦截器* @ param registry */@ Override public void add interceptors(InterceptorRegistry registry){ registry .附加接收器(登录接受者)。addpath模式(/* *)//对那些接口拦截排除路径模式(/log in );//对哪些接机口放行webmvcconfigurer。超级棒。添加拦截器(注册表);} }测试结果

  以上就是跳羚实现过滤器拦截器的耗时对比的详细内容,更多关于跳羚过滤器拦截器的资料请关注盛行信息技术其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: