凤台范文网 > > 资料 > Spring Boot之如何配置静态资源的地址与访

Spring Boot之如何配置静态资源的地址与访

来源:https://www.ft263.com 时间:2024-07-25 编辑:admin 手机版

一、Spring Boot之如何配置静态资源的地址与访

静态资源,例如HTML文件、JS文件,设计到的Spring Boot配置有两项,一是“spring.mvc.static-path-pattern”,一是“spring.resources.static-locations”,很多人都难以分辨它们之间的差异,所以经常出现的结果就是404错误,无法找到静态资源。

1. “spring.mvc.static-path-pattern”

spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例:

# 这表示只有静态资源的访问路径为/resources/**时,才会处理请求

spring.mvc.static-path-pattern=/resources/**,

假定采用默认的配置端口,那么只有请求地址类似于“”时,Spring Boot才会处理此请求,处理方式是将根据模式匹配后的文件名查找本地文件,那么应该在什么地方查找本地文件呢?这就是“spring.resources.static-locations”的作用了。

2. “spring.resources.static-locations”

“spring.resources.static-locations”用于告诉Spring Boot应该在何处查找静态资源文件,这是一个列表性的配置,查找文件时会依赖于配置的先后顺序依次进行,默认的官方配置如下:

spring.resources.static-locations=classpath:/static,classpath:/public,classpath:/resources,classpath:/META-INF/resources

继续以上面的请求地址为例,“”就会在上述的四个路径中依次查找是否存在“jquery.js”文件,如果找到了,则返回此文件,否则返回404错误。

3. 静态资源的Bean配置

从上面可以看出,“spring.mvc.static-path-pattern”与“spring.resources.static-locations”组合起来演绎了nginx的映射配置,如果熟悉Spring MVC,那么理解起来更加简单,它们的作用可以用Bean配置表示,如下:

@Configuration

@EnableWebMvc

public class WebConfig extends WebMvcConfigurerAdapter {

@Override

public void addResourceHandlers(ResourceHandlerRegistry registry) {

registry.addResourceHandler(/resources/**)

.addResourceLocations(/public-resources/)

.setCacheControl(CacheControl.maxAge(1, TimeUnit.HOURS).cachePublic());

}

}

或者等同与以下的XML。

<mvc:resources mapping=/resources/** location=/public-resources/>

<mvc:cache-control max-age=3600 cache-public=true/>

</mvc:resources>

结论

“spring.mvc.static-path-pattern”用于阐述HTTP请求地址,而“spring.resources.static-locations”则用于描述静态资源的存放位置。

二、springboot很少资料啊,一定要用maven去做吗

不一定,也可以使用gradle等,maven和gradle的作用是帮你引入你需要的包和依赖的包,不用你自己去理解其中的依赖关系

三、SpringBoot中如何分开写配置文件

案例:

1.application.properties

2.application-cus1.properties

3.application-cus1.properties

4.application-cus1.properties

5.controller

6.结果

四、springboot怎么读取指定的配置文件中文乱码

方法一:找一台Windows版本相同且显示正常的机器,依下列步骤进行:

1.在正常机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器;

2.请将光标定位到“HKEY_LOCAL_MACHINE systemCurrentControlSetControl Fontassoc”,然后选择“注册表”→“导出注册表文件”,再选择“分支”,导出该分支注册表信息到文件(如ZT.REG)中;

3.把ZT.REG文件拷贝到你那显示乱码的机器上,方法是:在显示乱码的机器上运行“regedit”,打开注册表编辑器,选择“注册表”→“导入注册注册表”,把ZT.REG文件导入注册表中即可。

方法二:如果你找不到一台与你的Windows版本相同且显示正常的机器,则需要手工恢复字体部分的注册表

项,其步骤是:

1.首先在显示乱码的机器上选择“开始”→“运行”,在对话框中键入“regedit”,打开注册表编辑器;

2.选择“HKEY_LOCAL_MACHINESystem CurrentControlSetControlFontassoc”,正常情况下,会有Associated DeaultFonts、Associated CharSet两个文件夹,其正确的内容应是:

子目录内容

中文Win98

中文Win98(OEM版)

中文Win2000

Associated CharSet

ANSI(00)=“yes”

GB2312(86)=“yes”

DEN(FF)=“yes”

SYMBOL(02)=“no”

ANSI(00)=“yes”

GB2312(86)=“yes”

OEM(FF)=“yes”

SYMBOL(02)=“no”

ANSI(00)=“yes”

OEM(FF)=“yes”

SYMBOL(02)=“no”

Associated DefaultFonts

AssocSystemFont=“simsun.ttf”

FontPackageDecorative=“宋体”

FontPackageDontcare=“宋体”

FontPackageModern=“宋体”

FontPackageRoman=“宋体”

FontPackageScript=“宋体”

FontPackageSwiss=“宋体”

AssocSystemFont=“simsun.ttf”

FontPackage=“新宋体”

FontPackageDecorative=“新宋体”

FontPackageDontcare=“新宋体”

FontPackageModern=“新宋体”

FontPackageRoman=“新宋体”

FontPackageScript=“新宋体”

FontPackageSwiss=“新宋体”

3.当出现汉字乱码时,上述两个文件夹中的内容就会不完整,有的没有Associated CharSet文件夹或其中的内容残缺不全;有的 Associated DefaulFonts下的内容残缺。如果遇到这种情况怎么办呢?其实你只要打开注册表编辑器,在 “HKEY_LOCAL_MACHINESystemCurrentControlSetControlFonassoc”下,根据以上的正确内容恢复即可。

最近更新

资料排行榜精选