64일차 - [JSP] Filter
안녕하세요. pitang입니다.
오늘은 필터에 대해 알아보겠습니다.
Filter
필터는 HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 클래스이다.
최종 자원과 클라이언트로 가는 응답(response) 사이에 위치하여 최종 자원의 요청 결과를 알맞게 변경할 수 있고 흐름도 변경할 수 있다.
new->Filter로 filter 클래스를 만들 수 있고 Filter 인터페이스는 다음과 같은 세 개의 메서드를 선언하고 있다.
public void init(FilterConfig filterConfig) throws ServletException - 필터를 초기화할 때 호출된다.
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws java.io.IOException, ServletException - 필터 기능을 수행한다. chain을 이용해 체인의 다음 필터로 처리를 전달할 수 있다.
public void destroy() - 필터가 웹 컨테이너에서 삭제될 때 호출된다.
필터의 역할을 하는 메서드가 doFilter() 메서드이다.
필터를 설정하는 방법은 web.xml을 이용하는 방법과 @WebFilter 어노테이션을 이용하는 방법, 두 가지가 있다.
web.xml 이용하는 방법은 web.xml 파일에 관련 정보를 추가하는 것이다.
<filter> 태그는 웹 애플리케이션에서 사용할 필터를 지정하고,
<filter-mapping> 태그는 특정 자원에 대해 어떤 필터를 사용할지를 지정한다.
@WebFilter 어노테이션을 이용하는 방법은 62일 차에 어노테이션으로 매핑하는 방법과 같다.
ex1) @WebFilter 어노테이션 이용
ex2) web.xml 이용
ex3)
Filter 예제
ex1)
ex2) 로그인 예제
감사합니다.
*m1 맥북을 사용 중입니다.*