#14 filter

jychan99·2025년 4월 15일

개념정리

목록 보기
15/22

java에서 filter는 요청과 응답사이에 작업을 수행하여 데이터 변형, 보안, 로깅 등 전체적인 관리가 필요한 기능들을 제공해서 특정 조건에 맞는 요소들을 걸러내는기능이다.

webfilter

@WebFilter 어노테이션으로 필터를 정의하고 구성할 수 있다.
주요 속성으로 urlpattern, value, dispatcherType등이 있다.

@WebFilter(urlPattern = "/test/*")
public class Test implements Filter {
	public void doFilter(ServletRequest request ,ServletResponse response, FilterChain chain){
	chain.doFilter(request, response);
    }
}

/test 를 루트에 둔url에대해서 씌우는 filter이다.
당연히, 여러개의 filter도 걸 수 있다. 필요할떄 적절한 필터를 적용해 웹 어플리케이션의 기능을 제어할 수 있다.
필터를 여러개 적용했을때, 적용되는 순서를 설정할 수 있는 속성은 없지만, web.xml에 <filter-mapping>태그로 순서를 정할 수 있다.
물론, 필터 각각이 서로에게 의존하지않도록 설계하는 것이 가장 바람직하다고 생각한다.

이외에도 web.xml에 filter의 이름을 적용하는것과 ,초기 파라미터를 설정하는 방법도 있다.

프로젝트할때 로그인 검증, 타입 검증, 욕설 검열 등등에 필터가 사용되었던 기억이 난다.

profile
내가 지금 두려워 하고 있는 일이 바로 내가 지금 해야 할 일이다. 🐍

0개의 댓글