빵구의 개발 메꾸기

인터셉터(Interceptor) 활용 본문

BACK-END/SPRING

인터셉터(Interceptor) 활용

bkjo94 2022. 5. 23. 14:53

클라이언트에 의해 들어온 HttpRequest와 Controller에서 내보내는 HttpResponse에 대해 가로채는 역할을

하는 것이 Interceptor이다.

즉 Controller에 요청이 들어오기 전에 처리해야 하는 로직이 들어가야 할 경우나 혹은 화면에 응답을 내보내기 전에

처리해야 할 로직이 필요한 경우 사용된다.

어떻게 활용해야 하는지 알아보자.

 

 

 

<Interceptor Class 만들고 설정 파일에서 연결하는 방법>

① HandlerInterceptor 인터페이스를 implements 받는다.

② preHandle 메서드는 Controller가 실행되기 전에 타는 메서드이다.

③ postHandle 메서드는 Controller가 실행되고 View가 렌더링 되기 전에 타는 메서드이다.

④ afterCompletion 메서드는 Controller가 실행되고 View도 렌더링 된 후 타는 메서드이다.

⑤ 서버 로드 시 제일 먼저 읽는 dispatcher-servlet.xml 파일에다가 Interceptor 설정을 잡아줘야 한다.

⑥ <mvc:interceptor> 태그 안에 클라이언트가 어떤 url을 접속할 시 interceptor가 가로채게 할 지 mapping path를 

    설정해주고 Interceptor class 파일이 있는 경로를 잡은 bean을 등록해준다. 

Comments