[백업][가리사니] spring boot 에서 error path 지정하기
servlet, spring
이 문서는 가리사니 개발자 포럼에 올렸던 글의 백업 파일입니다. 오래된 문서가 많아 현재 상황과 맞지 않을 수 있습니다.
서블릿에서 스프링을 옴겨가면서 다른 것들을 찾고있는중입니다.. (너무 단순한거라 글쓰기 뭐하지만.. 필기의 습관..;; 하하하..;;)
서블릿 같은경우 web.xml 을 통해 아래와 같이 지정하는것이 일반적 입니다.
<error-page>
<error-code>404</error-code>
<location>/error/404</location>
</error-page>
<error-page>
<error-code>405</error-code>
<location>/error/code</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error/code</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/error/code</location>
</error-page>
스프링부트에서는 아래처럼 지정 할 수 있습니다.
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.web.servlet.ErrorPage;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.HttpStatus;
@Configuration
public class ErrorConfiguration extends ServerProperties
{
@Override
public void customize(ConfigurableEmbeddedServletContainer container)
{
super.customize(container);
container.addErrorPages(new ErrorPage(HttpStatus.NOT_FOUND, "/error/404"));
container.addErrorPages(new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/error/500"));
container.addErrorPages(new ErrorPage("/error/code"));
}
}