로그인2 (필터,인터셉터)

KJH·2023년 2월 6일

SpringMVC2

목록 보기
8/12

서블릿 필터

서블릿이 지원하는 수문장

필터 흐름
HTTP 요청 -> WAS -> 필터(들) -> 서블릿 -> 컨트롤러

필터에서 막히면 끝낼수 있음 (로그인에 딱임)

필터 인터페이스 (javax.servlet.Filter)

  • init() : 컨테이너가 생성될때 호출
  • doFilter() : 로직
  • destroy() : 컨테이너가 종료될 때 호출

스프링시큐리티 등은 필터로 구현되어있음


인터셉터

스프링 MVC가 제공하는 기술로, 필터와 비슷하지만 순서,범위,사용방법이 다름

인터셉터 흐름

HTTP 요청 -> WAS -> 필터 -> 서블릿 -> 스프링 인터셉터(들) -> 컨트롤러

HandlerInterceptor 인터페이스를 구현해서 사용

  • preHandle : 호출 전 true면 진행, false면 끝
  • PostHandle : 호출 후 (컨트롤러 예외면 호출 X)
  • afterCompletion 요청 완료 이후 (뷰 렌더링 이후) (무조건 호출)

addPathPatterns,excludePathPatterns로 정밀하게 URL 지정


0개의 댓글