728x90
반응형
1. 필터의 개요
필터(filter)
- 클라이언트와 서버 사이에서 request와 response 객체를 먼저 받아 사전/사후 작업 등 공통적으로 필요한 부분을 처리하는 것
- 클라이언트의 요청이 웹 서버의 서블릿, JSP, HTML 페이지 같은 정적 리소스에 도달하기 전과, 반대로 정적 리소스에서 클라이언트로 응답하기 전에 필요한 전처리를 가능하게 함
- 필터는 HTTP 요청과 응답을 변경할 수 있는 코드로 재사용 가능
- 클라이언트와 정적 리소스 사이에 여러 개의 필터로 이루어진 필터 체인을 제공하기도 함
2. Filter 인터페이스의 구현 클래스
Filter 인터페이스
- 필터 기능을 구현하는 데 핵심적인 역할을 함
- 클라이언트와 서버의 리소스 사이에 위치한 필터의 기능을 제공하기 위해 자바 클래스로 구현해야 함
init() 메소드
- JSP 컨테이너가 필터를 초기화할 때 호출되는 메소드
- init( ) 메소드는 JSP 컨테이너 내에서 초기화 작업을 수행할 필터 인스턴스를 생성한 후 한 번만 호출
- init( ) 메소드는 JSP 컨테이너에 의해 호출되어 필터의 서비스가 시작되고 있음을 나타냄
doFilter() 메소드
- JSP 컨테이너가 필터를 리소스에 적용할 때마다 호출되는 메소드
- init( ) 메소드 후에 호출되며, 필터가 어떤 기능을 수행할 필요가 있을 때마다 호출
- 첫 번째 매개변수 ServletRequest 객체는 체인을 따라 전달하는 요청이고,
- 두 번째 매개변수 ServletResponse 객체는 체인을 따라 전달할 응답
- 세 번째 매개변수 FilterChain 객체는 체인에서 다음 필터를 호출하는 데 사용
- 만약 호출 필터가 체인의 마지막 필터이면 체인의 끝에서 리소스를 호출
destroy() 메소드
- 필터 인스턴스를 종료하기 전에 호출하는 메소드
- JSP 컨테이너가 필터 인스턴스를 삭제하기 전에 청소 작업을 수행하는 데 사용되며, 이는 필터로 열린 리소스를 모두 닫을 수 있는 방법
- destroy( ) 메소드는 필터의 수명 동안 한 번만 호출
728x90
반응형
'JSP' 카테고리의 다른 글
JSP 웹 프로그래밍 - 웹 쇼핑몰 만들기 05 (장바구니 페이지) (0) | 2023.03.07 |
---|---|
JSP 웹 프로그래밍 - 필터 02 (web.xml 파일의 필터 구성) (0) | 2023.03.07 |
JSP 웹 프로그래밍 - 예외처리 (0) | 2023.03.06 |
JSP 웹 프로그래밍 - 웹 쇼핑몰 만들기 04 (상품 등록 페이지의 보안 처리, 예외 처리 페이지, 로그 기록하기) (0) | 2023.03.06 |
JSP 웹 프로그래밍 - 시큐리티 (0) | 2023.03.06 |