진이의 Developer Story
@ControllerAdvice를 이용한 커스텀 에러 처리 본문
@ControllerAdvice
public class HTTPErrorHandler {
@ExceptionHandler(NoHandlerFoundException.class)
public String httpError404() {
return "/common/exception/pageNotFound";
}
}
위와 같이 컨트롤러를 만들어준다.
@ControllerAdvice 어노테이션을 사용한다. (Spring 4.0 이상에서 사용가능)
만약에 4.0 이하라면 web.xml에서 error-list 를 이용하여 처리해야 한다.
해당 방법은 다음 포스팅때 적도록 하겠다.
아래는 web.xml 설정방법이다.
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/servlet/context-servlet.xml</param-value>
</init-param>
// 아래와 같이 처리하고자 하는 익셉션을 명시해준다.
<init-param>
<param-name>throwExceptionIfNoHandlerFound</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
위와 같이 익셉션을 명시해주지 않으면 기존과 같은 방법으로 매핑된 주소를 찾기 때문에, 반드시 명시해줘야 한다.
'Java > Spring' 카테고리의 다른 글
Spring Quartz Autowired (0) | 2017.10.25 |
---|---|
예전에 만들어두었던 롤 전적검색사이트 (2) | 2017.01.03 |
Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]] (0) | 2016.11.28 |
스프링 Maven Project - GIT - 젠킨스(jenkins) 연동하기 (1) | 2016.11.24 |
Spring JavaMailSender 를 이용하여 메일보내기 (0) | 2016.11.17 |
Comments