服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - SpringBoot深入探究四种静态资源访问的方式

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

2022-12-24 16:08zh_Tnis Java教程

这一节详细的学习一下SpringBoot的静态资源访问相关的知识点。像这样的知识点还挺多,比如SpringBoot2的Junit单元测试等等。本章我们来了解静态资源访问的四种方式

1.默认的静态资源目录

/static

/public

/resources

/META-INF/resources

动态资源目录:/templates

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

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

3. 静态资源访问

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

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

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

    <artifactId>WWebjarsdemo</artifactId>
    <version>1.0</version>
    <build>
        <resources>
            <resource>
                <!--
                directory   将该路径下的资源(example/0.0.3/资源)打包
                targetPath  成该路径下存储
                -->
                <directory>${project.basedir}/src/main/resources</directory>
                <targetPath>${project.build.outputDirectory}/META-INF/resources/webjars</targetPath>
            </resource>
        </resources>
    </build>

2).静态资源目录结构

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

3).package点击打包

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

4).install到本地仓库

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

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

1).pom.xml

        <!--导入依赖的自定义静态资源webjars包-->
        <dependency>
            <groupId>com.openlab</groupId>
            <artifactId>WWebjarsdemo</artifactId>
            <version>1.0</version>
        </dependency>
        <!--为了不再管理版本号-->
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>webjars-locator-core</artifactId>
            <version>0.35</version>
        </dependency>

(3).路径访问

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

引入webjars-locator-core的jar包:

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

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

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

(4).访问结果

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

到此这篇关于SpringBoot深入探究四种静态资源访问的方式的文章就介绍到这了,更多相关SpringBoot静态资源访问内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/zh_tnis/article/details/124897683

延伸 · 阅读

精彩推荐