1 package pk.lucidxpo.ynami.spring;
2
3 import org.springframework.context.annotation.Configuration;
4 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
5 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
6 import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
7 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
8
9 import static java.util.concurrent.TimeUnit.DAYS;
10 import static org.springframework.http.CacheControl.maxAge;
11 import static pk.lucidxpo.ynami.spring.security.SecurityConfig.LOGIN_PAGE_URL;
12
13 @EnableWebMvc
14 @Configuration
15 public class MvcConfig implements WebMvcConfigurer {
16
17 @Override
18 public void addResourceHandlers(final ResourceHandlerRegistry registry) {
19 registry.addResourceHandler(
20 "/css/**",
21 "/js/**",
22 "/img/**",
23 "/webjars/**"
24 ).addResourceLocations(
25 "classpath:/static/css/",
26 "classpath:/static/js/",
27 "classpath:/static/img/",
28 "classpath:/META-INF/resources/webjars/"
29 ).setCacheControl(maxAge(30L, DAYS).cachePublic())
30 .resourceChain(true);
31 }
32
33 @Override
34 public void addViewControllers(final ViewControllerRegistry registry) {
35 registry.addViewController(LOGIN_PAGE_URL).setViewName("login");
36 }
37 }