JSP

JSP 웹 프로그래밍 - 필터 01(필터의 개요, Filter 인터페이스의 구현 클래스)

록's 2023. 3. 7. 10:21
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
반응형