zoukankan      html  css  js  c++  java
  • springboot 有关拦截器遇到的问题

    最近改造搜索服务,原来是用 ngx + lua 写的,虽然性能很高,带来的问题是可维护性不太方便,不是指lua语言方面,是因为团队就2个开发人员,另外一个开发人员的擅长语言是Java,于是准备将搜索服务移植于Java语言,选型了现在当下的springboot,这样就可以让更多的人更维护这个服务。

    我也是刚学springboot,以前也是自己玩过SSM框架,把遇到问题记录下来:

    在登录拦截器中出现的问题

    1、拦截器的排除路径方法用了不生效

      

      excludePathPatterns拦截不到,login换成 * 也不行, 于是将拦截路径的逻辑写在 LoginInterceptor() 中,这样就引发了第二个问题,因为 /search 是配置的项目路径前缀,需要动态,放在第二个问题中解决

      

      通过路径对比,如果是无需校验的路径直接房型

    2、@Value注解获取不到配置信息

       

      通过request方法能获取到需要的信息

    3、@Service注入的service使用时发现为null

      

      如果发现为null,直接根据request的上下文获取

      

    //解决service为null无法注入问题
            if (redisService == null) {
                BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());
                redisService = (RedisService) factory.getBean("redisService");
            }
    
            String loginUserId = redisService.get(cacheKey);

      

  • 相关阅读:
    01背包----简单DP
    小a的计算器
    BZOJ3160 万径人踪灭 【fft + manacher】
    BZOJ3527 [Zjoi2014]力 【fft】
    BZOJ2194 快速傅立叶之二 【fft】
    BZOJ2123 [Sdoi2013]森林 【主席树 + 启发式合并】
    BZOJ3720 Gty的妹子树 【树分块】
    洛谷P1822 魔法指纹 【分块打表】
    洛谷3396 哈希冲突 【分块】
    分块算法
  • 原文地址:https://www.cnblogs.com/liugx/p/9099269.html
Copyright © 2011-2022 走看看