less than 1 minute read

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

기본 정적 리소스 핸들러와 캐싱 제공

Categories:

Updated: