본문 바로가기
JAVA Spring

로그인 처리 - 필터, 인터셉터

by ppirae 2022. 6. 18.

서블릿 필터

필터는 서블릿이 지원하는 수문장과 같다.

 

웹의 공통 관심사항을 처리하는데 쓰이는데 이는 스프링에서 AOP로도 가능하지만,

서블릿 필터와 인터셉터를 이용하는 것을 추천한다.

 

관심사항은 모든 고객의 요청을 로그를 찍거나 로그인 여부를 확인하는 필터 등 다양하다.

 

필터를 통과하면 서블릿 페이지로 이동하고, 통과하지 못하면 서블릿 페이지를 보여주지않는다.

필터는 체인형식으로 여러개를 이을 수 있다.

 

참고) 실무에서 HTTP 요청시 같은 요청의 로그에 모두 같은 식별자를 자동으로 남기는 방법은 logback mdc 검색.


스프링 인터셉터

스프링 인터셉터는 스프링 MVC가 제공하는 기술이다.

스프링 인터셉터가 더 많은 기능을 제공하고 더 좋다.

 

인터셉터는 스프링 MVC 구조에 특화된 필터 기능을 제공한다고 이해하면 된다.

스프링 MVC를 사용하고, 특별히 필터를 꼭 사용해야 하는 상황이 아니라면 인터셉터를 사용하는 것이 더 편리하다.

 

필터와 비교해보면 인터셉터는 addPathPatterns , excludePathPatterns 로 매우 정밀하게 URL 패턴을 지정할 수 있다.

 

서블릿 필터와 비교해서 코드가 매우 간결하다. 인증이라는 것은 컨트롤러 호출 전에만 호출되면 된다.

 

정리) 서블릿 필터와 스프링 인터셉터는 웹과 관련된 공통 관심사를 해결하기 위한 기술이다.

서블릿 필터와 비교해서 스프링 인터셉터가 개발자 입장에서 훨씬 편리하다는 것을 코드로 이해했을 것이다.

특별한 문제가 없다면 인터셉터를 사용하는 것이 좋다.


인프런 김영한님의 스프링 MVC 2편을 듣고 작성한 글입니다.

https://inf.run/oKtV

 

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의

웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있

www.inflearn.com

'JAVA Spring' 카테고리의 다른 글

파일 업로드  (0) 2022.06.26
스프링 타입 컨버터  (0) 2022.06.25
로그인 처리 - 쿠키와 세션  (0) 2022.06.17
검증 - Bean Validation  (0) 2022.05.29
메시지, 국제화  (0) 2022.05.26

댓글