필터는 서블릿이 제공하는 기능, 인터셉터는 스프링이 제공하는 기능
웹과 관련된 공통 관심사: 특정 url이 들어올 경우 인증을 할거고, 특정 url이 아닐 경우 인증 안할거야
수문장: 문지기
HTTP 요청이 오면 WAS(서버)에 들어옴. 서버에 들어오면 WAS가 필터를 호출한 후, 서블릿을 호출한다. 그 후 컨트롤러를 타게된다.
필터가 로직이다.
ServletRequest는 HttpServletRequest의 부모인데, 기능이 별로 없어 HttpServletRequest로 다운캐스팅 해줘야한다.
chain.doFilter하면 있으면 다음 필터가 호출되고, 없으면 서블릿이 호출된다.
자바에선 final이 항상 호출됨
LogFilter,LoginCheckFilter 차례로 갔다가 끝날때는 return이 반대로 옴. LogFilter에서 LoginCheck필터 갔다가 끝나니까 LogFilter로 다시 돌아온것.
redirect URL이 이렇게 넘어올것이다.
정상흐름에선 ex파라미터가 null이다
ctril + alt + c : Indroduce Constant