c语言编程笔录

首页 >   > 笔记大全

笔记大全

使用SpringBoot怎么实现加载静态资源

更新时间:2023-11-28

简介

静态资源是通过Web页面提供的资源,如HTML、CSS、JS和图片等。SpringBoot可以通过一个简单的配置来加载这些静态资源,而不需要进行繁琐的代码处理。

加载基础静态资源

SpringBoot默认会在classpath下的“/static”、“/public”、“/resources”、“/META-INF/resources”文件夹中查找静态资源。这里我们使用“/static”文件夹来存储我们的静态资源。在“static”文件夹下创建“index.html”文件作为我们的默认首页,如下:

src
 ├─ main
     ├─ resources
         └─ static
             └─ index.html

在SpringBoot的配置文件中,即“application.properties”文件中添加以下配置:

spring.resources.static-locations=classpath:/static/

这样,在浏览器中访问“http://localhost:8080”即可访问到“index.html”文件了。

加载自定义静态资源

除了默认的静态资源文件夹,我们还可以通过以下配置来加载自定义的静态资源文件夹:

@Configuration
public class MvcConfigurer implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/myres/**").addResourceLocations("classpath:/myres/");
    }
}

上面的配置会将URL“/myres/**”映射到classpath下的“/myres/”文件夹中,这样我们就可以访问到文件夹中的静态资源了。

配置静态资源缓存

静态资源的缓存可以有效地提高Web页面的访问速度,减少页面加载时间。SpringBoot可以利用HTTP缓存来提高静态资源的缓存效果。以下是一个简单的配置示例:

@Configuration
public class WebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/")
                .setCacheControl(CacheControl.maxAge(1, TimeUnit.HOURS).cachePublic());
    }

}

上面的代码设置了静态资源缓存的时间为1小时。