2017-12-21 1 views
0

정적 콘텐츠를 제외 PageController에.봄 SimpleUrlHandlerMapping 당신은 하나의 컨트롤러를 사용 만이 URL을 매핑하는 간단한 코드를 볼 수 있습니다 내가 2</p> <p>봄 부팅에 SimpleUrlHandlerMapping을 사용하여 전용 URL 매퍼를 만든

내 문제는 지금 봄/URL1 요청하지만, 모든 정적 (JS, CSS는, ...)가 PageController에 요청뿐만 아니라 전송하는 것입니다.

왜 이런 일이 발생하며 어떻게 피할 수 있습니까?

@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(); 
    } 
} 

답변

0

기본 발송자 서블릿에서 제외 할 자원을 지정할 수 있습니다.

정적 컨텐츠를 가정하면 디렉토리라는 이름의 자원에 : WebMvcConfigurerAdapter

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

를 확장하는 클래스에서 자바 설정을 사용하여 XML

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

를 사용

불행하게도 resourceHandler이 솔루션은 '아무튼 나를 위해 일한다. 모든 정적 요청은 여전히 ​​PageController에 의해 처리됩니다. 나는 이유를 모른다. 나는 이미이 [link] (https://stackoverflow.com/questions/47414098/cache-and-zip-static-resources-with-spring-boot-2)에 문제가있다. – Vmxes

관련 문제