首页 > 其他分享 >静态资源映射

静态资源映射

时间:2022-10-21 14:44:31浏览次数:49  
标签:映射 静态 resources classpath static registry public 资源 backend

web开发中,不可避免地是对静态资源的访问,Spring Boot默认的静态资源映射为三样:

  • classpath:/META-INF/resources/
  • classpath:/resources/
  • classpath:/static/
  • classpath:/public/
  • / 项目的根路径
// 源码
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = { "classpath:/META-INF/resources/", "classpath:/resources/",  "classpath:/static/", "classpath:/public/" };

也可以进行自定义静态资源映射,但是设置自定义后,系统默认的就会失效。所以优先系统默认。

自定义方法:

  • 配置文件
  • 编程

配置文件

spring:
	mvc:
 		static-path-pattern: /backend/**
	web:
  		resources:
    		static-locations:
      			- classpath:/backend/

将localhost:8080/backend/** 的访问

映射到 classpath:/backend/ 下

编程方式

@Slf4j
@Configuration
public class WebMvcConfiguration extends WebMvcConfigurationSupport {

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开启静态映射....");
        registry.addResourceHandler("/backend/**").addResourceLocations("classpath:/backend/");
        registry.addResourceHandler("/front/**").addResourceLocations("classpath:/front/");

    }
}

或者

@Slf4j
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {

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

目前 WebMvcConfigurerAdapter 已废弃。可以使用实现WebMvcConfigurer接口,继续实现原有功能。

WebMvcConfigurationSupport 可以视为新版对WebMvcConfigurer的增强,二者在同一级目录之下。

标签:映射,静态,resources,classpath,static,registry,public,资源,backend
From: https://www.cnblogs.com/serendipity-igao/p/16813429.html

相关文章

  • 父组件为子组件传递数据(静态数据)
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><metahttp-e......
  • 节点request资源统计脚本
    #!/bin/bashfornodein`kubectlgetnode|grepnode|awk'{print$1}'`dototal_cpu=`kubectldescribenode$node|grepcpu|awk'{print$2}'|sed-......
  • springMvc路径参数映射原理
     一、springMvc 执行流程图 二、springMvc中url映射接口关键点2.1:AbstractHandlerMappingorg.springframework.web.servlet.handler.AbstractHandlerMapping#getHa......
  • 技术强、资源多,华为云等保合规解决方案助力企业快速过等保!
    技术强、资源多,华为云等保合规解决方案助力企业快速过等保!随着新等保要求的出台,不少企业数字化转型升级都遇到了不同程度的过等保问题,比如周期长、整改难度大、缺乏专业的......
  • 静态链表及基本操作
    我们了解了两种存储结构各自的特点,那么,是否存在一种存储结构,可以融合顺序表和链表各自的优点,从而既能快速访问元素,又能快速增加或删除数据元素。静态链表,也是线性存储结构......
  • flutter 简单静态列表
    classListextendsStatelessWidget{constList({Key?key}):super(key:key);@overrideWidgetbuild(BuildContextcontext){returnListView(......
  • 静态pod
    静态pod静态pod是有kubelet直接管理的,kube-apiserver可以看到静态pod,但是无法管理静态pod静态pod始终绑定到特点节点静态Pod的spec不能引用其他API对象创建......
  • 概念介绍_软件架构和资源分类
    *JavaWeb: *使用Java语言开发基于互联网的项目*软件架构: 1.C/S:Client/Server客户端/服务器端 *在用户本地有一个客户端程序,在远程有一个服务器端......
  • 概念介绍-软件架构、资源分类
    概念介绍-软件架构web概念概述使用java语言开发基于互联网的项目软件架构:C/S:Client/Server客户端/服务器端在用户本地有一个客户端程序,在远程有一个......
  • 在JPA中调用存储过程并及时将资源释放
    问题最近发现在调用某个API执行batchjob(批处理)时,每当数据量达到一定数量时,后续的记录都会出现以下错误:oracleORA-01000:maximumopencursorsexceeded原因排查......