spring_reference/IV. Spring Boot features/26.1.4. Static Content.md

1.2 KiB
Raw Blame History

26.1.4. 静态内容

默认情况下Spring Boot从classpath下一个叫/static/public/resources或/META-INF/resources的文件夹或从ServletContext根目录提供静态内容。这使用了Spring MVC的ResourceHttpRequestHandler所以你可以通过添加自己的WebMvcConfigurerAdapter并覆写addResourceHandlers方法来改变这个行为加载静态文件

在一个单独的web应用中容器默认的servlet是开启的如果Spring决定不处理某些请求默认的servlet作为一个回退降级将从ServletContext根目录加载内容。大多数时候这不会发生除非你修改默认的MVC配置因为Spring总能够通过DispatcherServlet处理请求。

此外,上述标准的静态资源位置有个例外情况是Webjars内容。任何在/webjars/**路径下的资源都将从jar文件中提供只要它们以Webjars的格式打包。

如果你的应用将被打包成jar那就不要使用src/main/webapp文件夹。尽管该文件夹是一个共同的标准但它仅在打包成war的情况下起作用并且如果产生一个jar多数构建工具都会静悄悄的忽略它。