Springboot拦截器的使用

2020-03-27 16:04:25来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Springboot拦截器的使用

Springboot拦截器的使用

  1. 引入springboot-starter-web
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
     <exclusions>
         <exclusion>
             <artifactId>org.springframework.boot</artifactId>
             <groupId>spring-boot-start-tomcat</groupId>
         </exclusion>
     </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
  1. 创建拦截器

    @Component
      
    public class LogInterceptor implements HandlerInterceptor { 
      static Logger logger = LoggerFactory.getLogger(LoggerFactory.class);
    
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
            logger.info("请求的路径为: "+ request.getRequestURI() + ", 请求的参数为:" + JSON.toJSONString(request.getParameterMap()));
            return true;
        }
    }
    
  2. 创建WebMvcConfigurer。

    WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor,ViewResolver,MessageConverter。基于java-based方式的spring mvc配置,需要创建一个配置类并实现WebMvcConfigurer 接口;

    @Configuration
    public class RequestLogConfiguration {
      
        @Autowired
        private LogInterceptor logInterceptor;
    
        @Bean
        public WebMvcConfigurer webMvcConfigurer(){
            return new WebMvcConfigurer() {
                @Override
                public void addInterceptors(InterceptorRegistry registry) {
                    registry.addInterceptor(logInterceptor).addPathPatterns("/**");
                }
            };
        }
    
    }
    

    还有第二种方式实现,直接用WebConfiguration implements WebMvcConfigurer 重写addInterceptors方法


原文链接:https://www.cnblogs.com/undefined22/p/12579197.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java基础语法(2)-变量

下一篇:Zookeeper入门实战