프로그래밍/Web

[spring] 핸들러 인터셉터

chance 2017. 1. 24. 18:49


컨트롤러 실행 전/후에 처리할 작업이 필요한 경우 핸들러 인터셉터를 이용하게된다.

로그인이나 세션 처리등 컨트롤러가 호출될때 지속적으로 처리되어야 하는 내용들은 이를 통해 해결할 수 있다.


HandleInterceptorAdapter


import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;


public class CustomInterceptor extends HandlerInterceptorAdapter {


@Override

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler ) throws Exception {


return super.preHandle(request, response, handler);

}

}


WebMvcConfigurerAdapter


해당 인터셉터를 사용하기 위해서는 설정이 필요한데, 해당 설정 클래스는 WebMvcConfigurerAdapter 클래스를 상속받아 구현한다. 


@Configuration

@EnableAutoConfiguration

public class InterceptorConfig extends WebMvcConfigurerAdapter {


@Override

public void addInterceptors(InterceptorRegistry registry) {

registry.addInterceptor( new CustomInterceptor() );

}

}