zoukankan      html  css  js  c++  java
  • 在springboot中添加拦截器

    1、首先定义一个拦截器

    package com.leyou.interceptor;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * @author houChen        拦截器在拦截之前 中 与之后的处理事件
     * @date 2020/5/14 20:25
     * @Description:
     */
    public class LoginInterceptor implements HandlerInterceptor {
    
        private Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
        @Override
        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
            logger.debug("preHandle method is now running!");
            return true;
        }
    
        @Override
        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {
            logger.debug("postHandle method is now running!");
        }
    
        @Override
        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
            logger.debug("afterCompletion method is now running!");
        }
    }

    2、定义配置类,注册拦截器

    package com.leyou.config;
    
    import com.leyou.interceptor.LoginInterceptor;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
    
    /**
     * @author houChen
     * @date 2020/5/14 20:26
     * @Description:
     */
    @Configuration
    public class MvcConfig implements WebMvcConfigurer {
        /**
         * 通过@Bean注解,将我们定义的拦截器注册到Spring容器
         * @return
         */
        @Bean
        public LoginInterceptor loginInterceptor(){
            return new LoginInterceptor();
        }
    
        /**
         * 重写接口中的addInterceptors方法,添加自定义拦截器
         * @param registry
         */
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            // 通过registry来注册拦截器,通过addPathPatterns来添加拦截路径 
            registry.addInterceptor(this.loginInterceptor()).addPathPatterns("/hello"); //这里表示对所有/hello的路径进行拦截
        }
    }

    3、效果如下

  • 相关阅读:
    Unity3d 汽车物理系第二篇
    Unity3d 汽车物理系统
    RabbitMq 之客户端(publish,subscrbe)
    MongoDB Python create by lee
    sql 分页语句 备忘
    结构化结点定位(数据结构)
    Mongodb 安装
    url 的相对路径转换成绝对路径方法
    mongodb cloud store db
    快速备份指定的表 create by lee
  • 原文地址:https://www.cnblogs.com/houchen/p/12891290.html
Copyright © 2011-2022 走看看