최근 Spring으로 구성된 프로젝트를 SpringBoot로 마이그레이션 하는 작업을 진행하고 있었다.
순탄한 작업 중 한 오류가 발생했는데 원인은 XssRequestWrapper 같은 구현된 Filter가 동작하지 않았기 때문이다.
Spring에서는 web.xml에 Filter를 정의하여 사용하는데 SpringBoot에서는 web.xml을 사용하지 않는다.
SpringBoot에서는 2가지 방법이 있다고 하는데 나는 어노테이션으로 사용하는 방법을 채택했다.
@ServletComponentScan은 Servlet 3.0+ 스펙을 지원하는 웹 애플리케이션에서 Servlet, Filter 및 Listener와 같은 웹 컴포넌트를 자동으로 검색하고 등록하는 데 사용된다고 한다.
이후 필터 클래스에서 @WebFilter(urlPatterns = "/*") 를 통해 필터임을 명시해주면 끝