springconfig

Spring boot: configure it to find the webapp folder


By default, Spring Boot looks in my src/main/webapp folder to find my html files. Where can I change the settings for Spring Boot if I use another folder to put the html files?

Later, the files will be wrapped in jars for deployment. Are there other things I need to worry about?


Solution

  • See the docs: http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-developing-web-applications.html#boot-features-spring-mvc-static-content

    The static resources are loaded from /static, /public, /resources, /META-INF/resources

    If you are packaging your application as a JAR (deploying a .jar), using src/main/webapp is not recommended.

    You can customize that by overriding the addResourceHandlers method in WebMvcConfigurerAdapter

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