더북(TheBook)

11.3.1 HandlerInterceptor를 이용한 로그 기록

HandlerInterceptor 인터페이스는 preHandle(), postHandle(), afterCompletion() 세 메서드를 가지고 있습니다.

preHandle() 메서드는 웹 요청 URL이 컨트롤러에 들어가기 전에 호출되며, false로 반환하면 이후 내용은 실행하지 않습니다. postHandle() 메서드는 웹 요청 URL을 컨트롤러가 처리한 후 호출되며, 컨트롤러에서 예외가 발생하면 더 이상 실행되지 않습니다. afterCompletion() 메서드는 컨트롤러가 웹 요청을 처리하여 뷰에 응답 전송이 종료된 후 호출됩니다.

HandlerInterceptor 인터페이스의 메서드 형식은 다음과 같습니다.

boolean preHandle(HttpServletRequest request,
                  HttpServletResponse response, 
                  Object handler) throws Exception;

• 역할: 컨트롤러를 호출하기 이전에 핸들러 실행을 차단합니다.
• 매개변수:
  - request: 현재 HTTP 요청
  - response: 현재 HTTP 응답
  - handler: 실행 핸들러 선택
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.