1. 필터(filter)
▷ 클라이언트와 서버 사이에서 request와 response 객체를 먼저 받아 사전/사후 작업 등 공통적으로
필요한 부분을 처리하는 것
▷ 클라이언트의 요청이 웹 서버의 서블릿, JSP, HTML 페이지 같은 정적 리소스에 도달하기 전과,
반대로 정적 리소스에서 클라이언트로 응답하기 전에 필요한 전처리를 가능하게 함
▷ 필터는 HTTP 요청과 응답을 변경할 수 있는 코드로 재사용 가능
▷ 클라이언트와 정적 리소스 사이에 여러 개의 필터로 이루어진 필터 체인을 제공하기도 함
2. Filter 인터페이스
▷ 필터 기능을 구현하는 데 핵심적인 역할을 함
▷ 클라이언트와 서버의 리소스 사이에 위치한 필터의 기능을 제공하기 위해 자바 클래스로 구현해야 함
◎ init() 메소드
▷ JSP 컨테이너가 필터를 초기화할 때 호출되는 메소드
▷ init( ) 메소드는 JSP 컨테이너 내에서 초기화 작업을 수행할 필터 인스턴스를 생성한 후 한 번만 호출
▷ init( ) 메소드는 JSP 컨테이너에 의해 호출되어 필터의 서비스가 시작되고 있음을 나타냄
◎ doFilter() 메소드
▷ JSP 컨테이너가 필터를 리소스에 적용할 때마다 호출되는 메소드
▷ init( ) 메소드 후에 호출되며, 필터가 어떤 기능을 수행할 필요가 있을 때마다 호출
▷ 첫 번째 매개변수 ServletRequest 객체는 체인을 따라 전달하는 요청
▷ 두 번째 매개변수 ServletResponse 객체는 체인을 따라 전달할 응답
▷ 세 번째 매개변수 FilterChain 객체는 체인에서 다음 필터를 호출하는 데 사용
▷ 만약 호출 필터가 체인의 마지막 필터이면 체인의 끝에서 리소스를 호출
◎ destroy() 메소드
▷ 필터 인스턴스를 종료하기 전에 호출하는 메소드
▷ JSP 컨테이너가 필터 인스턴스를 삭제하기 전에 청소 작업을 수행하는 데 사용되며,
이는 필터로 열린 리소스를 모두 닫을 수 있는 방법
▷ destroy( ) 메소드는 필터의 수명 동안 한 번만 호출
필터를 이용하면 클라이언트와 서버 사이에서 request와 response 객체를 먼저 받아 사전/사후 작업 등 공통적으로 필요한 부분을 처리할 수 있습니다.
클라이언트와 웹 서버 사이 필터를 통해 걸러주면서 화면에 나타납니다.
지금까지는 필터 사용할 때 필요한 메소드에 대해서만 공부했었는데 이제 직접 실습을 해볼게요~!!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > JSP' 카테고리의 다른 글
[JSP 웹 프로그래밍] 세션 1 (session 생성, 정보) (0) | 2023.03.08 |
---|---|
[JSP 웹 프로그래밍] 필터 2 (web.xml 파일의 필터 구성) (0) | 2023.03.08 |
[JSP 웹 프로그래밍] 예외 처리 3 (try-catch-finally 이용한 예외 처리) (0) | 2023.03.08 |
[JSP 웹 프로그래밍] 예외 처리 2 (web.xml 파일을 이용한 예외 처리) (1) | 2023.03.07 |
[JSP 웹 프로그래밍] 예외 처리 1(page 디렉티브 태그 이용) (0) | 2023.03.07 |