package spr12281; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.HandlerMapping; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.ResourceChainRegistration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping; import org.springframework.web.servlet.resource.VersionResourceResolver; import org.springframework.web.servlet.view.InternalResourceViewResolver; import org.springframework.web.servlet.view.JstlView; @Configuration @ComponentScan(basePackageClasses = { ResourcesConfig.class }) public class ResourcesConfig extends WebMvcConfigurationSupport { @Bean public ViewResolver viewResolver ( ) { InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); viewResolver.setViewClass(JstlView.class); viewResolver.setPrefix("/WEB-INF/"); viewResolver.setSuffix(".jspx"); return viewResolver; } @Override public HandlerMapping resourceHandlerMapping ( ) { SimpleUrlHandlerMapping handlerMapping = (SimpleUrlHandlerMapping) super.resourceHandlerMapping(); handlerMapping.setInterceptors(getInterceptors()); return handlerMapping; } @Override public void configureDefaultServletHandling ( DefaultServletHandlerConfigurer configurer ) { configurer.enable(); } @Override public void addResourceHandlers ( ResourceHandlerRegistry registry ) { ResourceHandlerRegistration resourceHandlerRegistration = registry.addResourceHandler("/**"); resourceHandlerRegistration.addResourceLocations("/"); ResourceChainRegistration resourceChain = resourceHandlerRegistration.resourceChain(false); VersionResourceResolver versionResolver = new VersionResourceResolver().addContentVersionStrategy("/**"); resourceChain.addResolver(versionResolver); } }