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)
    Android实现九宫拼图过程记录
    高维数据Lasso思路
    CannyLab/tsne-cuda with cuda-10.0
    xgboost 多gpu支持 编译
    GDAL2.2.4 C#中的编译及使用
    SqlServer性能优化,查看CPU、内存占用大的会话及SQL语句
    WinForm任务栏最小化
    datatable与实体类之间相互转化的几种方法
  • 原文地址:https://www.cnblogs.com/kui-technology/p/8940665.html
Copyright © 2011-2022 走看看