设置`server.servlet.path`改变静态文件的路径

时间:2018-06-03 14:12:08

标签: java spring spring-mvc spring-boot

我有一个spring boot应用程序,我计划保留UI和后端api控制器。 根据文件,

server.servlet.contextPath=/myapp 
server.servlet.path=/api

以上属性,我可以访问我的api url说http://localhost:8080/myapp/api/version

但是,' index.html'保留在src/main/resources/static下的其他网络资源现在只能在http://localhost:8080/myapp/api/下使用。

我尝试了以下内容,

private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
        "classpath:/META-INF/resources/", "classpath:/resources/",
        "classpath:/static/", "classpath:/public/" };

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/**")
            .addResourceLocations(CLASSPATH_RESOURCE_LOCATIONS);
}

但它似乎不起作用,因为我相信dispatcherServlet也处理静态文件(?)。

如何覆盖此行为?

0 个答案:

没有答案