Resource Handler
Resource Handler
이미지, 자바스크립트, CSS 그리고 HTML 파일과 같은 정적인 리소스를 처리하는 핸들러 등록
Default Servlet
서블릿 컨테이너가 기본으로 제공하는 서블릿으로 정적인 리소스를 처리할 때 사용
스프링 MVC Resource Handler Mapping 등록
가장 낮은 우선 순위 순으로 등록
- 다른 핸들러 맵핑이 "/" 이하 요청을 처리하도록 허용
- 최종적으로 Resource Handler 가 처리하도록
Resource Handler 설정
ResourceResolver : 요청에 해당하는 리소스를 찾는 전략
ResourceTransformer : 응답으로 보낼 리소스를 수정하는 전략
@Test
public void addResourceHandler(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/mobile/**")
.addResourceLocations("classpath:mobile/")
.setCacheControl(CacheControl.maxAge(10, TimeUnit.MINUTES));
}
@Test
public void helloStatic() throws Exception {
this.mockMvc.perform(MockMvcRequestBuilders.get("/index.html"))
.andDo(print())
.andExpect(MockMvcResultMatchers.status().isOk())
.andExpect((ResultMatcher) content().string(Matchers.containsString("hello index")))
.andExpect(header().exsist(HttpHeaders.CACHE_CONTROL));
}
Spring Boot
기본 정적 리소스 핸들러와 캐싱 제공