zoukankan      html  css  js  c++  java
  • spring boot拦截器配置

    1.在spring boot配置文件application.properties中添加要拦截的链接

    com.url.interceptor=/user/test

    2.编写拦截器代码 ,创建UrlInterceptorUtil 类

     1 import org.springframework.core.io.ClassPathResource;
     2 import org.springframework.core.io.Resource;
     3 import org.springframework.core.io.support.PropertiesLoaderUtils;
     4 import org.springframework.stereotype.Component;
     5 import org.springframework.web.servlet.ModelAndView;
     6 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
     7 
     8 
     9 import javax.servlet.http.HttpServletRequest;
    10 import javax.servlet.http.HttpServletResponse;
    11 import javax.servlet.http.HttpSession;
    12 import java.util.Properties;
    13 
    14 @Component
    15 public class UrlInterceptorUtil extends HandlerInterceptorAdapter {
    16 
    17     private String noCheckUrls;
    18     private static Properties props ;
    19 
    20     @Override
    21     public boolean preHandle(HttpServletRequest request,
    22                              HttpServletResponse response, Object handler) throws Exception {
    23         String url=request.getRequestURI();
    24         Resource resource = new ClassPathResource("/application.properties");//
    25         props = PropertiesLoaderUtils.loadProperties(resource);
    26         noCheckUrls=props.getProperty("com.url.interceptor","");
    27         if(!noCheckUrls.contains(url)){
    28                 return true;
    29         }
    30         HttpSession session=request.getSession();
    31      //业务逻辑处理
    32         if (session.getAttribute("User")==null){
    33             
    34             response.sendRedirect("/index");
    35             return false;
    36         }
    37         return true;
    38     }
    39 
    40         @Override
    41         public void postHandle(HttpServletRequest request,
    42                                HttpServletResponse response, Object o, ModelAndView mav)
    43             throws Exception {
    44 //        System.out.println("postHandle");
    45     }
    46 
    47     @Override
    48     public void afterCompletion(HttpServletRequest request,
    49                                 HttpServletResponse response, Object o, Exception excptn)
    50             throws Exception {
    51 //        System.out.println("afterCompletion");
    52     }
    53 }

    3.配置spring boot拦截

    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
    //标注此文件为一个配置项,spring boot才会扫描到该配置。该注解类似于之前使用xml进行配置
    @Configuration
    public class CustomWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {
        @Override
        public void addInterceptors(InterceptorRegistry registry) {
            //对所有的请求进行拦截
            registry.addInterceptor(new UrlInterceptorUtil()).addPathPatterns("/**");
        }
    }
    
    
    
    
  • 相关阅读:
    将1、2、3、……、n这n个连续自然数分成g组,使每组的和相等。g组中个数最多的一组有几个?
    磁带机、驱动器、磁带库、机械手之间的区别
    Mysql基础命令
    pip 加速下载
    NBU命令之 nbftconfig :配置与光纤传输 (FT) 服务器和 SAN 客户端相关的属性
    IEDriverServer.exe驱动问题汇总
    系统集成项目管理工程师考试2020介绍
    LTO1,LTO2,LTO3,LTO4,LTO5 LTO6 磁带读写速度和兼容性及LTO6主要参数
    Mysql 备份方式 MySQL Agent & MySQL Enterprise Backup & Percona XtraBackup
    Netbackuk命令之bpclntcmd
  • 原文地址:https://www.cnblogs.com/kui-technology/p/8940665.html
Copyright © 2011-2022 走看看