春天未能找到ResourceHandler
我试图配置我的春节,引导MVC应用程序服务于我的resources
目录static\recordings
下的一些音频文件映射静态资源。春天未能找到ResourceHandler
我已经添加下面的映射
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/recordings/**.wav", "/recordings/**.mp3").addResourceLocations("/static/recordings/");
}
然而,请求之一:
/recordings/general/en/en-general-choose-language.wav
static/recordings/general/en/en-general-choose-language.wav
在日志中给出了404,在该(略微调整基于路径,当然):
Looking up handler method for path /recordings/general/en/en-general-choose-language.wav
Did not find handler method for [/recordings/general/en/en-general-choose-language.wav]
我有一个解决方法与控制器和写入文件内容到resp onse流,但它似乎很愚蠢,必须这样做,以提供静态文件。
ResourceHandlerRegistry#addResourceHandler的文档指出以下几点:http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistry.html#addResourceHandler-java.lang.String...-
模式,如 “/静态/ **” 或 “/css/{filename:\w+\.css}” 是允许的。有关语法的更多详细信息,请参阅AntPathMatcher。
在AntPathMatcher的描述中,我们找到一个例子符合您的需求。
组织/ springframework的/ **/* JSP - 匹配所有.jsp文件的组织下/ springframework path
因此,请尝试"/recordings/**/*.wav"
作为处理程序模式。
运用这种变化没有工作。 – ThisIsNoZaku
你可以尝试'公共无效addResourceHandlers(ResourceHandlerRegistry注册表){ 注册表 .addResourceHandler( “/资源/ **”) .addResourceLocations( “/资源/”); }'在你的配置类? – harshavmb
如果使用springboot,那么你可以设置'spring.resources.static-locations' – harshavmb
试着去阅读有关如何提供静态内容和春天开机,这是我的职位之一:https://stackoverflow.com/questions/ 41057042 /弹簧引导CSS-显示向上空白,不加载,后试图-一切/ 41058923#41058923 –