[스프링] 예외 처리와 오류 페이지
·
스프링
사용자가 웹을 이용할 때 접근할 수 없는 페이지나 예기치 못한 오류가 발생했는데, 아무런 안내도 없이 브라우저 기본 오류 화면만 보게 된다면 불쾌감을 느끼게 될 것이다. 이는 곧 서비스 품질이 낮다고 평가받는 원인이 되기도 한다. 따라서 안정적인 웹 서비스를 제공하려면 사용자가 이해할 수 있는 오류 페이지를 준비해야 한다. 오늘은 서블릿에서 제공하는 오류 처리 방식과, 이를 훨씬 간편하게 해주는 스프링 부트의 오류 페이지 처리 기능을 비교하며 살펴볼 것이다. 1. 서블릿 방식 오류 페이지 처리(1) 오류 페이지 등록하기스프링 부트 환경에서 서블릿 컨테이너(내장 톰캣 등)를 실행할 때는, WebServerCustomizer를 통해 오류 페이지를 등록할 수 있다.@Componentpublic class We..
[스프링] 로그인 처리 3 - 스프링 인터셉터(Interceptor)
·
스프링
앞에서 살펴본 서블릿 필터는 웹 애플리케이션의 수문장 역할을 하며, 로그인 여부 검증이나 공통 로직 처리에 유용했다.그런데 서블릿 필터는 서블릿 기술이 제공하는 기능이고, 스프링 MVC 안쪽과는 다소 거리가 있다.오늘은 스프링 MVC가 제공하는 또 다른 수문장, 스프링 인터셉터에 대해 알아볼 것이다.스프링 인터셉터는 필터와 유사하지만, MVC 구조와 더 밀접하게 동작하며 훨씬 정교하고 편리한 기능을 지원한다. 1. 스프링 인터셉터란 무엇인가스프링 인터셉터는 디스패처 서블릿과 컨트롤러 사이에서 동작한다.흐름을 그림으로 나타내면 다음과 같다.HTTP 요청 → WAS → 필터 → 서블릿(DispatcherServlet) → 스프링 인터셉터 → 컨트롤러즉, 필터는 서블릿 이전, 인터셉터는 서블릿 이후, 컨트롤러..