一、通过配置文件配置
配置节点:spring.web.resources.static-locations
值为要配置的静态资源存放目录
如:
spring:web:resources:static-locations: classpath:/test/
以上配置中,设置静态资源目录为src/main/resources/test/目录。
假如在test目录下存放文件test.txt,程序启动后,便能通过浏览器访问ip:port/test.txt访问文件。
二、通过config类配置
新建WebMvcConfig类,继承WebMvcConfigurationSupport类,并添加注解@Configuration。
重写WebMvcConfigurationSupport类的addResourceHandlers方法。
通过参数ResourceHandlerRegistry的addResourceHandler方法和addResourceLocations添加访问路径与资源目录的映射。
如:
@ConfigurationpublicclassWebMvcConfigextendsWebMvcConfigurationSupport{@OverrideprotectedvoidaddResourceHandlers(ResourceHandlerRegistry registry){
registry.addResourceHandler("/test/**").addResourceLocations("classpath:/test/");}}
上述配置代码中,添加了路径/test/**对资源目录src/main/resources/test/的映射。
假如在test目录下存放文件test.txt,程序启动后,便能在浏览器访问ip:port/test/test.txt访问文件内容
区别:
通过配置文件配置时,只能覆盖默认配置设置一个静态资源目录(默认目录为static),但无需添加根目录名即可访问。如“一”中访问test.txt时,并没有/test/路径,而是直接访问test.txt。
通过代码配置时,可以配置多对访问路径和资源目录的映射,但访问路径需要包含根目录名。如“二”中,访问test.txt时,需要添加/test/路径。
共同点:
以上两种方法,一旦选择其一进行配置,默认配置(static)目录即失效。
当同时使用两种方法时,配置文件方法失效,仅代通过配置类配置的方法生效。
版权归原作者 q小明同学q 所有, 如有侵权,请联系我们删除。