3) 공통처리

전성수·2023년 12월 2일

공개

목록 보기
3/7

공통처리

  • Interceptor 와 Filter 는 Servlet 단위에서 실행된다.
  • AOP는 메소드 앞에 Proxy 패턴의 형태로 실행된다.
    • Filter -> Interceptor -> AOP 순으로 실행되었다가 나옴.
  1. Server를 실행시켜 Servlet이 올라오는 동안에 init이 실행.
  2. doFilter 실행.
  3. Controller에 들어가기 전 preHandler 실행.
  4. Controller에서 나와 postHandler, afterComletion, doFilter 순으로 진행.
  5. Servlet 종료시 destory가 실행.

Filter

❗️요청과 응답을 거른 뒤 보냄
❗️스프링 컨텍스트 외부에 존재해서 스프링과 무관한 자완에 대해 동작

  • web.xml에 등록.
  • 인코딩 변환 처리, XSS방어 등의 요청에 대한 처리로 사용

Interceptor

❗️무언가를 가로챈다.
❗️컨트롤러 호출 전/후로 끼어들기 때문에 스프링 컨텍스트 내부에서 요청과 응답에 대해 처리한다.
❗️스프링의 모든 빈 객체에 접근할 수 있음.

  • 인터셉터는 여러 개를 사용할 수 있고 로그인 체크, 권한 체크, 프로그램 실행시간 계산작업, 로그확인 등의 업무처리를 함

HandlerInterceptor

  • HandlerInterceptor 인터페이스를 implement해서 구현
    • preHandle: 컨트롤러 매서드 실행 전
    • postHandle: 메스드 실행 후 view 렌더링 전
    • afterCompletion: view 렌더링 된 후

preHandle

❗️컨트롤러의 메서드에 매핑된 특정 URI가 호출됐을 때 실행


postHandle

❗️컨트롤러를 경유한 후, 화면으로 결과를 전달하기 전에 실행되는 메서드


AOP

❗️OOP를 했을 때 중복을 줄이기 위해 처리

profile
ㅡ/ㅡ

0개의 댓글