Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Spring boot: configure it to find the webapp folder

Tags:

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?

like image 283
user2191332 Avatar asked Feb 25 '15 17:02

user2191332


People also ask

What is the webapp folder?

webapp contains the web-inf folder and configuration files such as web.

Does spring boot use HTML?

This is a very basic Web Application using Spring Boot that serves a “Hello World” static HTML web page. This will start the embedded Tomcat server at port 8080.


2 Answers

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);         }     } 
like image 129
Evgeni Dimitrov Avatar answered Sep 17 '22 04:09

Evgeni Dimitrov


AS mentioned above, jar packaging ignores webapp content. If you still want to include the contents inside webapp folder, you need to specify this explicitly in maven POM.xml configuration as below -

<build>         <resources>             <resource>                 <directory>src/main/webapp</directory>             </resource>             <resource>                 <directory>src/main/resources</directory>             </resource>         </resources> ... 
like image 44
Akash Avatar answered Sep 20 '22 04:09

Akash