Filter
역할
- J2EE 표준 스펙 기능으로 DispatcherServlet에 요청이 전달되기 전/후에 url 패턴에 맞는 모든 요청에 대한 부가작업 처리
특징
- DispatcherServlet에 요청이 전달되기 전, 후에 url 패턴에 맞는 모든 요청에 대한 처리
- 스프링과 무관하게 전역적으로 처리해야 할 작업 수행
- ServletRequest/ServletResponse 객체를 조작 가능
- 웹 컨테이너에 의해 관리됨
- chain.doFilter 메서드 호출로 다음 Filter 연결
- ex) 보안, 인코딩, 로깅, 데이터 압축
예시
web.xml
...
<filter>
<filter-name>SampleFilter1</filter-name>
<filter-class>필터패키지 경로.SampleFilter1</filter-class>
</filter>
<filter-mapping>
<filter-name>SampleFilter1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>SampleFilter2</filter-name>
<filter-class>필터패키지 경로.SampleFilter2</filter-class>
</filter>
<filter-mapping>
<filter-name>SampleFilter2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...
SampleFilter1
public class SampleFilter1 implements Filter{
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
// 처리할 로직...
chain.doFilter(request, response);
}
}
댓글남기기