代码之家  ›  专栏  ›  技术社区  ›  Cristian

Spring中的静态资源不工作。有什么想法吗?

  •  1
  • Cristian  · 技术社区  · 7 年前

    情况:

    我从一开始就有一个清新的春天项目。春天io
    我已经创建了文件 project/src/main/resources/js/a.js

    我也创造了 project/src/main/resources/templates/index.html (与thymeleaf一起) 这是必须的 a.js 通过 <script th:src="@{/js/a.js}"></script>

    我还具有以下配置:

    @Configuration
    @EnableWebMvc
    public class MvcConfig extends WebMvcConfigurerAdapter {
    
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry
                    .addResourceHandler("/js/**")
                    .addResourceLocations("/js/");
    
        }
    }  
    

    当应用程序启动时,我可以在日志中看到:
    Mapped URL path [/js/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler]

    尝试:

    1. .addResourceLocations(); 我尝试过各种变体,如: "/resources/js" , "resources/js" , "/js" , "js"
    2. 也在 application.properties 习惯于 spring.resources.static-locations=classpath:/resources/
    3. 创造 /resources/static/js/a.js 并更新 addResourceLocatios 相应的参数

    有什么想法吗?

    1 回复  |  直到 4 年前
        1
  •  1
  •   Ajit Soman    7 年前

    您需要放置 a.js 静态文件夹中的文件。我已附上以下文件夹结构:

    enter image description here

    同时删除您的 MvcConfig 因为它不是必需的。

    推荐文章