[Spring] 인터셉터

Posted by 신희준 on October 27, 2017


2017 - 10 - 27 (금)

  • 인터셉터

  • 코드로 배우는 스프링 웹프로젝트[구멍가게 코딩단 지음] 참조


    인터셉터의 개념


    인터셉터는 필터 개념이라고 생각 하면 쉽다.

    Spring MVC 에서 context는 bean을 관리해준다.(root-context, servlet-context)// 실무에서는 context한개만 사용한다고 한다.

    listener 는 web.xml에 등록하여 root-context 를 로드시킨다.

    인터셉터의 경우 스프링 내의 context 내에 존재하기 때문에 context내의 모든 bean을 활용할 수 있다.

    인터셉터를 활용하여 로그인 기능을 쉽게 구현할 수 있다.



    HandlerInterceptorAdapter (추상)클래스


    HandlerInterceptor를 쉽게 활용하기 위해 인터페이스의 메소드를 미리 구현해놓은 클래스이다.



    Interceptor 활용

    인터셉터는 사용자가 어떠한 request를 보냈을 때 컨트롤러에 가기전에 있는 필터이다.

    인터셉터를 활용하기 위해 인터셉터 클래스를 정의하고, 이 인터셉터를 context에 등록해야한다.
    해당 URI로 오는 REQUEST를 매핑하여 인터셉터를 처리하고 컨트롤러 처리를 실행한다.

    예를 들어 로그인의 경우 인터셉터에서 httpSession 을 객체에 같이 담아준다면 Controller에서 httpsession을 처리할 필요가 없어진다.