Spring Web MVC Filter, Interceptor
Filter
public interface Filter {
void doFilter(ServletRequest request, ServletResponse response, FilterChain chain);
}
Interceptor
public interface HandlerInterceptor {
boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler);
void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView mav);
void afterCompletion(HttpServletRequest request, HttpServeletResponse response, Object handler, Exception ex);
}
차이점
- 호출이 되는 시점이 다르다.
- Interceptor인 경우에는 Handler (Controller) 실행되기전에 실행이 된다.
- Filter는 Servlet에서 구현된 인터페이스 (J2EE)
- Servlet?
- 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램
- Interceptor는 Spring에서 구현된 인터페이스
'Programing > Spring Framework' 카테고리의 다른 글
Spring Framework, IoC, DI (0) | 2019.04.13 |
---|---|
JdbcTemplate, RowCallbackHandler 이용하기 (1) | 2019.02.12 |
Spring Retry (0) | 2018.10.30 |
Spring 자체 인스턴스화 된 객체에 종속성을 주입하는 방법 (0) | 2018.10.20 |
Spring Bean Life Cycle (0) | 2018.09.21 |