• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

springboot项目静态映射路径的填写小

武飞扬头像
AuTmun
帮助3

我们再写springboot项目的时候经常要使用到接口 WebMvcConfigurer

用这个接口大部分的目的都用来重写 addResourceHandlers 方法

为的就是将本地的文件静态映射到Tomcat服务器上

还需用到的两个类就是 addResourceHandler 和 addResourceLocations

这里就来总结一下这两个的参数填写

第一种:

  1.  
    import org.springframework.context.annotation.Configuration;
  2.  
    import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  3.  
    import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  4.  
     
  5.  
    @Configuration
  6.  
    public class WebAppconfigurer implements WebMvcConfigurer {
  7.  
     
  8.  
    @Override
  9.  
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
  10.  
    registry.addResourceHandler("/image/**").addResourceLocations("file:D:\\aaa\\bbb\\ccc\\");
  11.  
     
  12.  
    }
  13.  
    }

  addResourceHandler("/image/**")里面填写的路径参数虚拟路径,就是用来网路请求的路径,可以填写成自己想写的 即("/ 自己要写的虚拟路径 /**"),下面都是一样的填写。

而addResourceLocations("file:D:\\aaa\\bbb\\ccc\\")就是第一种路径填写方法,直接填写绝对路径。经过网路请求将会访问到  D:\aaa\bbb\ccc\  下的文件。这里必须有 file:而且 \ 要写两遍

第二种:

  1.  
    @Override
  2.  
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
  3.  
    registry.addResourceHandler("/image/**").addResourceLocations("classpath:/images/aaa/");
  4.  
    registry.addResourceHandler("/file/**").addResourceLocations("classpath:/images/bbb/");
  5.  
     
  6.  
    }
"classpath:/images/aaa/"就是自己的项目的根目录下的文件,就是存放在resources里面的文件夹对应的文件。

第三种:

  1.  
    @Configuration
  2.  
    @Slf4j
  3.  
    public class WebAppconfigurer extends WebMvcConfigurationSupport {
  4.  
     
  5.  
    @Value("${ImagesFilePath}")
  6.  
    private String ImagesFilePath;
  7.  
     
  8.  
    @Override
  9.  
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
  10.  
    registry.addResourceHandler("/image/**").addResourceLocations("file:" ImagesFilePath);
  11.  
    }
  12.  
    }

这种写法是常用的,因为方便管理,但需要配置 application.yml

    配置如下:

  1.  
    #Windows下的路径配置
  2.  
    ImagesFilePath: D:\aaa\bbb\ccc\
  3.  
     
  4.  
    #linux下的路径配置
  5.  
    #ImagesFilePath: /usr/local/images/

这里需要注意的是Win系统是右斜杠 \

Linux系统是左斜杠 /

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkkiea
系列文章
更多 icon
同类精品
更多 icon
继续加载