ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 인터셉터란?
    Back end/Spring MVC 2023. 10. 11. 16:28

    스프링에서 인터셉터(Interceptor)는 핸들러(Controller)의 메서드가 실행되기 전 또는 후에 요청과 응답을 가로채는 역할을 수행하는 미들웨어입니다. 인터셉터는 주로 요청을 가로채어 특정 작업을 수행하거나, 요청을 수정하거나, 응답을 수정하는 데 사용됩니다.

    인터셉터는 주로 다음과 같은 상황에서 사용됩니다:

    1. 인증과 권한 검사: 로그인 여부를 확인하거나 특정 권한을 가진 사용자만 특정 요청에 접근할 수 있도록 검사합니다.
    2. 로깅 및 감시: 요청과 응답을 로깅하고 감시하여 시스템의 동작을 기록합니다.
    3. 전처리 및 후처리 작업: 요청이나 응답을 가로채어 전처리 작업을 수행하거나, 후처리 작업을 수행할 수 있습니다.
    4. 예외 처리: 예외가 발생했을 때 특정 작업을 수행하거나 예외를 처리할 수 있습니다.

    인터셉터는 Spring MVC에서 사용되며, HandlerInterceptor 인터페이스를 구현하여 정의됩니다. 이 인터페이스를 구현하면 preHandle, postHandle, afterCompletion 메서드를 사용할 수 있습니다. 이들 메서드는 각각 요청 전, 후, 완료 후에 호출됩니다.

    예를 들어, 로그인이 필요한 페이지에 접근할 때 인터셉터를 사용하여 로그인 여부를 확인하고, 로그인하지 않은 경우 로그인 페이지로 리다이렉트할 수 있습니다.

    javaCopy code
    public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 로그인 여부를 확인하고 로그인하지 않은 경우 로그인 페이지로 리다이렉트 if (!isLoggedIn(request)) { response.sendRedirect("/login"); return false; } return true; } // ... }

    이렇게 인터셉터를 사용하면 요청의 전처리나 후처리 작업을 효과적으로 수행할 수 있습니다.

    'Back end > Spring MVC' 카테고리의 다른 글

    Spring < -> Spring Boot  (0) 2023.11.07
    Controller 종류  (0) 2023.10.24
    pox.xml 에서 ojdbc11의 missing 오류 해결  (0) 2023.10.21
    스프링 싱글톤이란?  (0) 2023.10.11
    스프링부트 run 오류시 대처법  (0) 2023.07.12
Designed by Tistory.