本文共 842 字,大约阅读时间需要 2 分钟。
当使用 Boot来架设服务系统时,有时候也需要用到前端页面,当然就不可或缺地需要访问其他一些静态资源,比如图片、css、js等文件。那么如何设置Spring Boot网站可以访问得到这些静态资源,以及静态资源如何布局?
这里引用stackoverflow网站的问题截图:[
以及config/WebConfig.
的内容如下: @Configuration@EnableWebMvc@ComponentScanpublic class WebConfig extends WebMvcConfigurerAdapter { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/**").addResourceLocations("/"); } }
最常见的就是官方给出的方案:
具体位置在26.1.4 Static Content
但是经过检验 src/main/resources目录下的资源文件不能被直接访问到。图片说明如下: 其实官方解释没有提及一点,就是不能使用@EnableWebMvc,当然如果Spring Boot在classpath里看到有 spring webmvc 也会自动添加@EnableWebMvc ()
如果@EnableWebMvc了,那么就会自动覆盖了官方给出的/static
, /public
, META-INF/resources
, /resources
等存放静态资源的目录。而将静态资源定位于src/main/webapp
。当需要重新定义好资源所在目录时,则需要主动添加上述的那个配置类,来Override addResourceHandlers
方法。