카테고리 없음
Spring Java Config 404 Handling
타우렌주술사
2016. 7. 31. 18:10
400대 에러의 경우는 서버에서 발생한 오류가 아니라 잘못된 접근으로 인해 발생하기 때문에 dispatcher 단계에서 필터를 걸어 처리해왔다
spring boot를 사용할 경우에는 dispatcher의 단계를 자동으로 잡아주기 때문에 따로 설정이 필요하다
@Configuration
@EnableWebMvc
@ComponentScan
public class ServletConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**")
.addResourceLocations("classpath:/templates/").setCachePeriod(0);
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return configurableEmbeddedServletContainer ->
configurableEmbeddedServletContainer
.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/404.html"));
}
}
세번째 작성된 EmbeddedServletContainerCustumizer 빈에서 에러 페이지를 정의할 수 있다
## 주의사항
Velocity에서는 설정이 겹쳐서 깨질수가 있으니 유의해야함...-_-.........