SpringBoot深入探究四种静态资源访问的方式

网友投稿 1755 2022-10-04

SpringBoot深入探究四种静态资源访问的方式

SpringBoot深入探究四种静态资源访问的方式

目录1.默认的静态资源目录2.resources静态资源目录图片存放3. 静态资源访问3.1.通过路径访问静态资源3.2.通过配置类配置路径访问本地静态资源1.config2.访问结果展示3.3.通过配置文件配置路径访问静态资源3.4.通过引入打包静态资源的jar包形式访问

1.默认的静态资源目录

/static

/public

/resources

/META-INF/resources

动态资源目录:/templates

2.resources静态资源目录图片存放

3. http://静态资源访问

3.1.通过路径访问静态资源

http://localhost:8080/a.jpg

http://localhost:8080/b.jpg

http://localhost:8080/c.png

http://localhost:8080/d.jpg

3.2.通过配置类配置路径访问本地静态资源

1.config

@Configuration

public class WebMvcConfig implements WebMvcConfigurer {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

//自定义路径mypic, addResourceLocations指定访问资源所在目录

registry.addResourceHandler("/mypic/**").addResourceLocations("file:C:\\Users\\Administrator\\Desktop\\images1\\");

//自定义路径webjars访问,addResourceLocations映射该路径下的资源,resourceChain资源链

// registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/").resourceChain(true);

}

}

2.访问结果展示

路径:http://localhost:8080/mypic/huangshanpic.webp

3.3.通过配置文件配置路径访问静态资源

(1).application.yml

web.pic-path=C:/Users/Administrator/Desktop/images1/spring.mvc.static-path-pattern=/mypic/**spring.web.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/public/,classpath:/static/,file:${web.pic-path}

web.pic-path:访问路径

spring.mvc.static-path-pattern:采用全部映射到mypic路径的方式

spring.web.resources.static-locations:配置允许访问的静态资源目录

(2).访问路径格式

http://localhost:8080/mypic/a.jpg

http://localhost:8080/mypic/b.jpg

http://localhost:8080/mypic/c.png

http://localhost:8080/mypic/d.jpg

http://localhost:8080/mypic/web.pic-path配置本地路径下的图片名称

3.4.通过引入打包静态资源的jar包形式访问

(1).静态资源打jar包

创建一个新的web工程,只存放静态资源

1).pom.xml

WWebjarsdemo

1.0

<build>

${project.basedir}/src/main/resources

${project.build.outputDirectory}/META-INF/resources/webjars

2).静态资源目录结构

3).package点击打包

4).install到本地仓库

(2).主项目中引入依赖包

1).pom.xml

com.openlab

WWebjarsdemo

1.0

org.webjars

webjars-locator-core

0.35

(3).路径访问

未引入webjars-locator-core的jar包:http://localhost:8080/webjars/example/版本号/huangshan.webp

引入webjars-locator-core的jar包:

http://localhost:8080/webjars/example/huangshan.webp

注意:如果主程序和引入打包的jar包静态资源http://下具备相同的目录结构,如:META-INF\resources\webjars\example\0.0.1\**,可能会出现路径访问失败的情况。

解决方法:clean主程序项目,重新运行。

(4).访问结果

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:「第二部:容器和微服务架构」(2) 容器化单体应用
下一篇:「前端架构」Angular的13个主要好处和用例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~