欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Springboot拦截器的使用

程序员文章站 2022-06-22 09:15:40
Springboot拦截器的使用 1. 引入springboot starter web 2. 创建拦截器 3. 创建WebMvcConfigurer。 WebMvcConfigurer配置类其实是 内部的一种配置方式,采用 的形式来代替传统的 配置文件形式进行针对框架个性化定制,可以自定义一些Ha ......

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方法