您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
Coder 发布于2019年05月08日 17:07

Spring MVC如何将静态资源文件映射到根目录

5493 次浏览 读完需要≈ 2 分钟 Spring MVCSpring

在项目的根目录src/main/webapp下存在一些静态资源文件,请问如何将这些静态资源用于对外访问。

我知道可以在Spring MVC配置文件中类似如下使用<mvc:resources>来实现静态资源的对外访问服务:

<mvc:resources mapping="/**" location="/" />

不过在项目中,我们又在某个方法上使用了如下注解:

@GetMapping("/{path}")
public String method(@PathVariable String path){
	// 此处省略代码细节
}

基于上述场景,只能将项目根目录下的静态资源文件映射到一个非根目录的路径,才能让这些静态资源文件对外提供访问。

不过我们确实又存在迫切的需求,必须让这些静态资源文件以根目录下的形式对外提供访问。

1 个回答

Coder [提问者] · 5年前

我们自己想了个折中方法把问题解决了:给path加上正则表达式匹配条件,要求路径中不能包含静态资源文件扩展名的间隔符号.

@GetMapping("/{path:[^.]+}")
public String method(@PathVariable String path){
	// 此处省略代码细节
}
已采纳 80 2 0 0 编辑

撰写答案