Notice
Recent Posts
Recent Comments
Link
관리 메뉴

데브마우스

[Spring] 인터셉터 개요 정리 본문

Spring/Spring: 정리

[Spring] 인터셉터 개요 정리

데브마우스 2024. 1. 24. 16:36

인터셉터란 무엇인가요?

인터셉터는 DispatcherServlet을 통해서 Controller로 가는 요청을 가로채 특정 작업을 처리합니다.

 

핸들러 인터셉터(Handler Interceptor)는 컨트롤러의 실행 전후 또는 요청 처리 중에 특정 동작을 수행하도록 하는 역할을 합니다.

인터셉터를 사용하면 아래와 같은 기능을 수행할 수 있습니다.

  • 각 요청에 대한 상세한 내역을 로깅(Logging)합니다.
  • Spooling: 응답 페이지를 출력하기 전에 서버에서 미리 데이터를 가져오는 기능
  • 폼의 Submit이 중복으로 일어나는 걸 방지합니다.
  • 서버의 병목지점을 역추적 할 수 있습니다. 
  • 요청이 처리 되기 전 multipart로 파일을 업로드할 수 있습니다.
  • 유효성 검사도 가능하나 서버의 자원을 소모하기 때문에 프론트엔드에서 주로 처리합니다.

인터셉터는 어떻게 사용하나요?

인터셉터 사용에는 2가지 방법이 있습니다.

  • HandlerInterceptor 인터페이스를 구현합니다.
  • HandlerInterceptorAdaptor 클래스를 상속받습니다.

인터셉터 구현한 클래스는 servlet-context.xml 파일의 <interceptors> 요소를 사용하여 등록해야합니다.

	<interceptors>
		<beans:bean id=" " class="패키지_이름.인터셉터_클래스" />
	</interceptors>