- 웹 애플리케이션을 지원하기 위한 특수한 형태의 서블릿
- 서블릿이나 JSP가 실행되기 전이나 후에 요청(Request)과 응답(Response)을 처리하는 데 사용
- 주요 역할은 인증(Authentication), 로깅(Logging), 인코딩 처리, 국제화(Localization) 등의 작업을 처리
필터의 작동 원리
- 클라이언트의 요청이 웹 서버로 들어오면, 필터는 먼저 요청을 가로챈다.
- 필터는 요청을 처리하고, 서블릿으로 전달하거나 응답을 처리하기 위해 추가 작업을 한다.
- 서블릿이나 JSP가 실행되기 전에, 필터는 클라이언트의 요청을 수정할 수 있다.
- 필터는 순차적으로 실행되며, 하나의 필터가 완료된 후 다음 필터로 요청이 전달된다.
필터의 주요 용도
- 로깅 (Logging): 클라이언트의 요청을 기록하여 추후 분석
- 인증 (Authentication): 요청이 들어올 때 클라이언트의 인증 상태를 체크
- 인코딩 처리 (Character Encoding): 클라이언트에서 보낸 데이터의 인코딩을 설정
- 요청/응답 수정 (Request/Response Modification): 요청 및 응답 객체를 수정하거나 추가 작업
필터의 유용한 활용 사례
- 로깅 (Logging): 모든 요청에 대한 로그를 기록할 때 사용
- 인증 (Authentication): 사용자의 인증 상태를 확인하고, 인증되지 않은 사용자에게 로그인 페이지를 제공하는 데 사용
- 권한 체크 (Authorization): 특정 페이지에 접근할 권한이 있는지 확인
- 데이터 포맷 설정 (Data Formatting): 서버와 클라이언트 간에 데이터를 송수신할 때, 데이터 포맷을 설정하는 데 사용
1. 필터 등록 (web.xml)