Web.xml파일 서블릿 Filter의 url-pattern설정


요즘 하고 있는 프로젝트에서 정적 파일에 대해서 인증을 붙이는 작업이 있었다.
기존에 Servlet filter를 사용하는 인증 로직이 있어서
<filter-mapping>의 <url-pattern>만으로 어떻게 될 것 같았다.

/contents/[NNN]/members/*
에 해당하는 파일들은 인증을 거친 사용자만 볼 수 있게 되는 파일들이다.

허나..."/contents/*/members/*" 와 같이 해도 도무지 동작하질 않았다.
찾아보니 <url-pattern>에 지정할 수 있는 식은 그냥 정규표현식이 아니었다.

Servlet 2.4 규약에 의하면

  • "/"로 시작하고 "/*"로 끝나는 패턴은 Path로 인식된다.
  • "*."으로 시작하는 경우 확장자를 매칭한다.
  • "/"만 정의한 경우 디폴트 서블릿을 의미한다.
  • 그외의 경우 동치 매칭을 한다.
라고 한다.

Comments