如何使用Spring提供带.html url扩展名的html文件

时间:2016-03-09 21:39:08

标签: spring ibm-cloud

我尝试使用Bluemix提供的Cloud Security on Spring应用程序。

我对Spring相对较新,而且我在使用请求的网址服务请求的验证文件时遇到了困难。 Bluemix希望html文件在/IBMDomainVerification.html

上可用

但是,我无法弄清楚如何使用Spring提供确切的url来提供html文件。我可以在网址末尾没有.html的情况下提供服务,但这并不是它所需要的。

如果有人能告诉我如何提供html文件给定指定的网址,最后加上.html扩展名,那就太棒了!

谢谢!

1 个答案:

答案 0 :(得分:0)

Spring 4.1引入了 ResourceResolvers ,它们可以根据URL路径解析资源。特别是你可以使用最简单的: PathResourceResolver 。这是最简单的解析器,其目的是在给定公共URL模式的情况下查找资源。实际上,如果没有将ResourceResolver添加到 ResourceChainRegistration ,则这是默认的解析程序。

考虑以下示例:

@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry
  .addResourceHandler("/resources/**")
  .addResourceLocations("/resources/","/other-resources/")
  .setCachePeriod(3600)
  .resourceChain(true)
  .addResolver(new PathResourceResolver());
}

以上代码用于webapp / other-resources文件夹的webapp / resources,URL / resources / **(例如 /resources/foo.js )。请注意两个星号,这意味着它将匹配 resources / 之后的所有内容,甚至是'/'。

在使用/IBMDomainVerification.html(/ **)的情况下,它应该可以工作。

另一种方法可能是使用*<mvc:resources/>*(Spring 3),它可以用来提供静态资源,同时仍然在root上使用DispatchServlet。请参阅this SO回答。