How to enable browser caching of static content(images, css, js) with Tomcat? Preferable solution will be editingspring MVC config files or web.xml
For those who use Java configuration, you can manage caching parameters using ResourceHandlerRegistry
, there is example how do I set up different caching preferences for different content types:
@Configuration
@EnableWebMvc
// ...
public class WebConfiguration extends WebMvcConfigurerAdapter {
// ...
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/ui/css/**")
.addResourceLocations("classpath:/WEB-INF/css/")
.setCacheControl(CacheControl.maxAge(1, TimeUnit.DAYS));
registry.addResourceHandler("/ui/js/**")
.addResourceLocations("classpath:/WEB-INF/js/")
.setCacheControl(CacheControl.maxAge(1, TimeUnit.DAYS));
registry.addResourceHandler("/ui/**")
.addResourceLocations("classpath:/WEB-INF/")
.setCacheControl(CacheControl.noCache());
}
// ...
}