我有一个默认的spring mvc应用程序。在其中,我有一个像这样的控制器:
@GetMapping("/**")
public String get(Model model) { }
现在这适用于所有请求,所以没关系,但它也适用于静态资源,如js,img,css文件。
如何排除这些资源?我正在使用注释btw ..
到目前为止我尝试过:
WebConfig:
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
super.addResourceHandlers(registry);
registry.addResourceHandler("/images/**").addResourceLocations("/images/");
registry.addResourceHandler("/css/**").addResourceLocations("/WEB-INF/css/");
registry.addResourceHandler("/js/**").addResourceLocations("/js/");
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
WebInitializer:
public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[]{WebConfig.class};
}
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{WebConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
但它不起作用,对css
文件的请求将由控制器处理,而不是向我显示静态资源。
由于我没有使用Spring启动,因此链接问题中提到的解决方案并没有解决这个问题。