인터셉터란? 스프링에서 제공하는 제공하는 기능으로 Dispatcher Servlet과 매핑된 URL의 Controller의 사이에서 존재하며 해당 Controller 호출 전과 후에 요청, 응답을 참조하거나 가공할 수 있는 필터라고 볼 수 있다. 주 용도로는 인증/인가 작업이나, API 호출에대한 로깅, 요청 응답 정보 가공등이 있다. 여기서 의문이 드는점이 있는데, 사실 필터랑 인터셉터랑 무슨 차이가 있냐이다. 1. 관리 주관자가 다르다. 필터 : 웹 Servlet 컨테이너 , 인터셉터: 스프링 컨테이너 2. Request,Response 객체를 새로운 객체로 넣을 수 있나? 필터 : Yes , 인터셉터 : No -> 필터에서는 request,response를 다음 필터로 넘겨주는 필터 체인을 쓰나, ..
필터란 말그대로 지정한 URL 패턴에 대해 거름막 역할을 해주는 기능이다. 가장 중요한 것은 서블릿을 투과한 후 Filter를 거치고 그 이후에 스프링 영역(DispatcherServlet)에 접근하게 된다. 주요 사용하는 용도로는 인코딩, XSS, CORS 등에 관한 설정을 주로 한다. 이전 Spring에서는 web.xml에서 Java파일을 Filter를 추가하여 사용 할 수 있었는데, SpringBoot에서는 Annotation을 사용하여 Filter를 추가 할 수있다. 먼저 사용할 CustomerFilter를 Servlet이 제공하는 Filter인터페이스를 구현하여 만든다. 이때, chain.doFilter(request,response);를 해주지 않으면 다음 필터를 넘어가지 않게 되니 주의해서 ..
Servlet이란? 웹 프로그래밍에서 클라이언트 요청을 처리하고 , 처리결과를 클라이언트에 전송하는 기술 자바로 구현된 CGI(Common gateway Interface)이다. Servlet의 생명 주기 Web Server 에서 HttpRequest를 Web container에게 위임한다. 클라이언트 URL 요청이 들어오면, WebContainer가 URL 매핑을 통해 Servlet을 실행한다. 처음 실행시 Init()메서드를 통해 Servlet을 초기화한다. Serlvet이 메모리에 적재되어있으면 Thread를 생성하고 Service()를 실행해 요청에 대한 처리와 응답을 수행한다. service()메소드 실행시 method 타입에 따라 doGet() , doPost()가 호출된다. 요청이 끝나면 T..