DAY34(2) - Servlet Filter

은나현·2023년 3월 15일
0

📌 1. Servlet Filter

  • 서블릿 필터(Servlet Filter)는 서블릿 요청과 응답 사이에서 작동한다. 다수의 서블릿에서 공통적으로 필요로 하는 기능을 구현하기에 적절하다.

📍 1-1. 작성법

  • 다음은 모든 서블릿에 텍스트 인코딩을 적용해 주는 CharacterEncodingFilter 예제이다.

    • @WebFilter
      : 이 어노테이션을 통해 필터의 적용 범위 옵션을 정할 수 있다. 특정 패스를 설정하면 해당 요청에 호출되는 서블릿에만 필터가 적용되고, 모든 서블릿에 적용하기 위해서는 /*로 작성한다.
    • implements javax.servlet.Filter
      : 필터를 작성할 때는 해당 인터페이스를 구현해야 한다.
    • doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
      : 서블릿 필터 인터페이스에서 필수적으로 구현해야 하는 메서드로, 필터에서 구현할 로직을 여기에 작성한다.
    • FilterChain
      : 필터를 연속적으로 수행하기 위한 객체이다.
    • doFilter()
      : FilterChain.doFilter()(Request,Response) 형태로 호출한다. 수행결과를 출력하기 위해서는 반드시 이 메서드를 호출해야 한다. 이 메서드를 기준으로 필터 로직을 전처리 부분과 후처리 부분으로 나눌 수 있다.

0개의 댓글