필터
'HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 클래스'이다.
최종 자원(jsp,servlet 등)과 응답 사이에 위치해 요청 결과를 알맞게 변경할 수 있다.
web.xml 혹은 어노테이션으로 등록할 수 있다.
응용 : 사용자 인증, 캐싱 필터, 자원 접근에 대한 로깅 , 응답 데이터 변환, 공통 기능 실행 등
Spring framework의 intercepter와 비슷한 기능. intercepter의 경우 spring에서 관리되기 때문에 스프링 내의 모든 자원을 모두 활용할 수 있다.
사용처
캐릭터 인코딩처리
로그인체크
클라이언트의 요청 변경(Wrapper 활용)
Filter 인터페이스의 메소드들
init : 필터를 초기화 할 때 호출된다.
doFilter : 필터의 기능을 수행한다.
destroy : 필터가 웹 컨테이너에서 삭제될 때 호출된다. (- 주로 필터가 사용한 자원 반납)
doFilter 메소드
1. request 파라미터를 이용하여 요청의 필터 작업 수행
2. chain.doFilter(request,response); 체인의 다음 필터 처리
3. response를 이용하여 응답의 필터링 작업 수행
↓doFilter 메소드
↓ JSP 페이지
↓JSP 페이지 로딩시 결과
반응형