在控制器中拥有包罗万象的请求映射排除资源

Arc*_*rus 7 java resources spring controller

我有一个默认的 spring mvc 应用程序。在其中,我有一个像这样的控制器:

@GetMapping("/**")
public String get(Model model) { }
Run Code Online (Sandbox Code Playgroud)

现在这适用于所有请求,所以这很好,但它也适用于 js、img、css 文件等静态资源。

如何排除这些资源?顺便说一句,我正在使用注释..

到目前为止我已经尝试过:

网络配置:

  @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();
  }
Run Code Online (Sandbox Code Playgroud)

网络初始化器:

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[]{"/"};
  }
Run Code Online (Sandbox Code Playgroud)

但它不起作用,对css文件的请求将由控制器处理,而不是向我显示静态资源。

由于我没有使用 Spring boot,因此链接问题中提到的解决方案并没有为我解决这个问题。