π‘ λμ€ν¨μ² μλΈλ¦Ώ(Dispatcher Servlet)μ μμ²μ΄ μ λ¬λκΈ° μ /νμ url ν¨ν΄μ λ§λ λͺ¨λ μμ²μ λν΄ λΆκ°μμ μ μ²λ¦¬ν μ μλ κΈ°λ₯μ μ 곡
public interface HandlerInterceptor {
default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
return true;
}
default void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
@Nullable ModelAndView modelAndView) throws Exception {
}
default void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
@Nullable Exception ex) throws Exception {
}
}
π‘ Springμ΄ μ 곡νλ κΈ°μ λ‘μ¨, λμ€ν¨μ² μλΈλ¦Ώ(Dispatcher Servlet)μ΄ μ»¨νΈλ‘€λ¬λ₯Ό νΈμΆνκΈ° μ κ³Ό νμ μμ²κ³Ό μλ΅μ μ°Έμ‘°νκ±°λ κ°κ³΅ν μ μλ κΈ°λ₯μ μ 곡
λμ | νν°(Filter) | μΈν°μ ν°(Intercepter) |
---|---|---|
κ΄λ¦¬λλ 컨ν μ΄λ | μλΈλ¦Ώ 컨ν μ΄λ | μ€νλ§ μ»¨ν μ΄λ |
μ€νλ§μ μμΈμ²λ¦¬ μ¬λΆ | X | O |
Request/Response κ°μ²΄ μ‘°μ κ°λ₯ μ¬λΆ | O | X |
μ©λ | 1. 곡ν΅λ 보μ λ° μΈμ¦/μΈκ° 2. λͺ¨λ μμ²μ λν λ‘κΉ λλ κ°μ¬ 3. μ΄λ―Έμ§/λ°μ΄ν° μμΆ λ° λ¬Έμμ΄ μΈμ½λ© 4. Springκ³Ό λΆλ¦¬λμ΄μΌ νλ κΈ°λ₯ | 1. μΈλΆμ μΈ λ³΄μ λ° μΈμ¦/μΈκ° κ³΅ν΅ μμ
2. API νΈμΆμ λν λ‘κΉ λλ κ°μ¬ 3. Controllerλ‘ λ겨주λ μ 보(λ°μ΄ν°)μ κ°κ³΅ |
μ°Έκ³ ν μ¬μ΄νΈ
[SpringBoot] Spring Securityλ?
[Spring] νν°(Filter) vs μΈν°μ ν°(Interceptor) μ°¨μ΄ λ° μ©λ - (1)