본문 바로가기

BackEnd/JSP

[JSP 웹 프로그래밍] 필터 1 (Filter 인터페이스)

728x90
반응형

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 객체를 먼저 받아 사전/사후 작업 등 공통적으로 필요한 부분을 처리할 수 있습니다.

 

클라이언트와 웹 서버 사이 필터를 통해 걸러주면서 화면에 나타납니다.

 

지금까지는 필터 사용할 때 필요한 메소드에 대해서만 공부했었는데 이제 직접 실습을 해볼게요~!!

 

많은 분들의 피드백은 언제나 환영합니다!  많은 댓글 부탁드려요~~

 

728x90
반응형