Solon

solon.web.staticfiles

<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon.web.staticfiles</artifactId>
</dependency>

1、描述

基础扩展插件,为 Solon Web 提供公共的静态文件服务支持。约定静态文件目录为:

resources/WEB-INF/static/

2、配置参考

#添加MIME印射
solon.mime:
  vue: "text/html"
  log: "text/log"

#是否启用静态文件服务。(可不配,默认为启用)
solon.staticfiles.enable: true
#静态文件的304缓存时长。(可不配,默认为10分钟)
solon.staticfiles.maxAge: 600


#!开头,表示如果没有扩展目录则自动创建 //用于支持 ExtendStaticRepository
solon.extend: "!app_ext" 

3、代码应用

默认之外的,三种静态目录添加方式:

public class DemoApp {
    public static void main(String[] args) {
        Solon.start(App.class, args, app -> {
        
            //1.添加扩展目录:${solon.extend}/static/
            StaticMappings.add("/", new ExtendStaticRepository());
            
            //2.添加本地绝对目录
            StaticMappings.add("/", new FileStaticRepository("/data/sss/app/"));
            
            //3.添加资源路径
            StaticMappings.add("/", new ClassPathStaticRepository("user"));
            
            //=========
            //添加本地绝对目录(文件路径不包含前缀部份)
            StaticMappings.add("/file/", false, new FileStaticRepository("/data/sss/app/"));
        });
    }
}