SpringBoot(二)配置访问静态资源路径

SpringBoot访问静态资源

一.默认的访问静态资源的几种方式:

      在src/main/resources/目录下创建static 文件夹

      在src/main/resources/目录下创建resources文件夹

      在src/main/resources/目录下创建public文件夹

      在src/main/resources/目录下创建META-INF/resources文件夹

在这几个文件夹下存放静态资源,访问时:localhost:8080/test.jpg

注意:访问时不用加static,resources等这些文件夹路径

         若同时建立这四个文件夹,并且里面放相同名称的文件,那么在springboot的访问顺序是:

         /META-INF/resources>resources>static>public

二、自定义文件夹访问静态资源

     springboot中访问静态资源时不一定必须要以springboot创建指定名称文件夹来访问,可以自定义

创建配置类:

@Configuration
public class MyWebAppConfigurer extends WebMvcConfigureAdapter{
    @Override
    public void addResourceHandler(ResourceHandlerRegistry registry){
      registry.addResourceHandler(“/test/**”).addResourceLocations(“classpath:/testpicture/”);
super.addResourceHandlers(registry)
}
}

注:创建配置类并继承WebMvcConfigurerAdapter类并且重写addResourceHandlers方法,参数引用ResourceHandlerRegistry类这个对象调用addResoucesHandler以及addResourceLocations方法,从方法名可以看出:前者是提供资源访问路径,而后者是本地项目路径。

访问:localhost:8080/test/test.jpg

按此原理分析:前面的四个文件夹之所以能访问,应该是springboot源码中定义了路径

三、SpringBoot访问webapp目录

SpringBoot 创建后没有webapp目录,可以在项目中创建:

SpringBoot(二)配置访问静态资源路径_第1张图片

配置类:

@Configuration
public class WebConfig  extends WebMvcConfigurationSupport {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations("/");
    }

}

 

你可能感兴趣的:(SpringBoot系列)