인프런 커뮤니티 질문&답변

서동민님의 프로필 이미지
서동민

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

서블릿 필터 - 요청 로그

필터를 여기저기 옮기기 좋게 만들어보고 싶어서 고민한 방향을 질문드립니다.

해결된 질문

작성

·

329

2

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

등록 방법에는

  1. FilterRegistrationBean@Bean 으로 등록하는 방법

  2. @WebFilter 대상을 @ServletComponentScan 으로 스캔하는 방법

2방법의 단점으로는 공홈에 확인 결과 내장 톰켓에서 사용된다 영상강의에 나오는 내용에 정렬순서를 지정할 수 없다고 하셨는데

정렬은 @Order를 사용하면 되지 않을까요?

또한 내장 톰켓을 위한 방법이기 때문에 해당 필터를 @ComponentBean 으로 등록하면 되지 않을까요?

 

해당 생각대로 일단 내장 톰켓과 외장 톰켓으로 테스트 해보았습니다.

우선순위의 테스트는 FilterRegistrationBean 으로 등록한 A필터 정렬순서 2로 @Order(1)@Component를 이용한 B필터를 확인결과

@Slf4j
@Component
@WebFilter(urlPatterns = "/*")
@Order(2)

이렇게 작성하여 내장 외장 모두 잘 동작하였고 순서를 위해 @Order 기능을 확인 결과 잘 되는 것을 확인했습니다.

필터를 이 프로젝트 저 프로젝트 옮기며 꽂아서 쓸수있게 만들고 싶어서 이렇게 고민했는데

이 방법이 혹시 문제점이 있을 까요?

또는 제가 잘못 생각한 부분이 있을까요?

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 서동민님

이 부분은 저도 잘 몰랐는데요.

서블릿에서 애노테이션을 공식적으로 지원하지는 않지만 스프링이 가능하도록 지원을 해주나보군요.

그렇다면 사용하셔도 무방할 것 같습니다 🙂

감사합니다.

서동민님의 프로필 이미지
서동민

작성한 질문수

질문하기