2017-12-21 5 views
0

ich einen eigenen URL-Mapper mit SimpleUrlHandlerMapping in Spring-Boot erstellt habe 2.Frühling SimpleUrlHandlerMapping - ausschließen statische Inhalte

Im Folgenden finden Sie einen vereinfachte Code sehen können, die nur einen Controller verwenden und Karten nur 2 Urls:/url1 und/url2 zu PageController.

Mein Problem ist, dass jetzt Spring sendet nicht nur/url1 Anfrage, sondern alle statischen (js, css, ...) Anfragen an PageController.

Warum dies passiert und wie kann ich es vermeiden?

@Configuration 
public class SimpleUrlHandlerMappingConfig { 

    @Autowired 
    private PageRepository pageRepository; 

    @Bean 
    public SimpleUrlHandlerMapping simpleUrlHandlerMapping() { 
     SimpleUrlHandlerMapping simpleUrlHandlerMapping 
       = new SimpleUrlHandlerMapping(); 

     Map<String, Object> urlMap = fillMappingsFromDb(); 
     simpleUrlHandlerMapping.setUrlMap(urlMap); 
     return simpleUrlHandlerMapping; 
    } 

    private Map<String, Object> fillMappingsFromDb() { 
     List<String> sefUrls = pageRepository.findMappings(); 
     Map<String, Object> urlMap = new HashMap<>(); 
     for (String sefUrl : sefUrls) { 
      urlMap.put(sefUrl, page()); 
     } 
     return urlMap; 
    } 

    @Bean 
    public PageController page() { 
     return new PageController(); 
    } 
} 

Antwort

0

Sie können Ressourcen angeben, die vom Standard-Dispatcher-Servlet ausgeschlossen werden sollen.

ist Ihre statischen Inhalte Angenommen, in einem Verzeichnis mit dem Namen Ressourcen:

XML

<mvc:resources mapping="/resources/**" location="/resources/" /> 

mit Java config in einer Klasse, die WebMvcConfigurerAdapter

@Override 
public void addResourceHandlers(final ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
} 
+0

Leider ist diese Lösung mit resourceHandler erstreckt doesn‘ t Arbeit für mich. Alle statischen Anfragen werden noch vom PageController verarbeitet. Ich weiß nicht warum. Ich hatte bereits ein Problem mit diesem [link] (https://stackoverflow.com/questions/47414098/cache-and-zip-static-resources-with-spring-boot-2) – Vmxes

Verwandte Themen