首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring静态资源映射:控制器与addResourceHandler

Spring静态资源映射:控制器与addResourceHandler
EN

Stack Overflow用户
提问于 2014-06-16 16:17:54
回答 2查看 1.1K关注 0票数 0

我正在尝试将一组特定的资源(音频)映射到一个控制器。但resources/**映射到所有资源。我如何隔离一个特定的资源请求,使其不通过Spring静态资源映射,而是到我的控制器?将音频资源移动到除资源之外的其他文件夹是唯一的解决方案吗?

例如:

文件夹结构:

代码语言:javascript
运行
复制
/resources/js
/resources/css
/resources/audio

使用Spring Web Config的资源映射:

代码语言:javascript
运行
复制
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry)
{
   registry.addResourceHandler("/resources/**")
            .addResourceLocations("/resources/")
...
}

资源控制器:

代码语言:javascript
运行
复制
public class ResourceController {

@RequestMapping(value = "/resources/audio",  
    method = RequestMethod.GET,
produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
public Resource getAudio(...) {
    }
   ....

}

EN

回答 2

Stack Overflow用户

发布于 2014-06-16 17:07:01

是否将音频资源移动到除资源之外的其他文件夹?这是唯一的解决方案吗?

这有什么问题呢?看起来很完美:在我看来既传统又直观。如果它不是静态的,就不要让它成为静态的。

票数 2
EN

Stack Overflow用户

发布于 2014-06-16 17:16:05

据我所知,无法在ant path中指定排除。因此,我认为许多基于ant路径匹配的实用程序都提供了包含路径和排除路径。

但不管怎样,正如NimChimpsky也说的那样,在未来的进化意义上,将控制器提供服务的/resources数据放在下面是危险的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24239263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档