본문 바로가기

Java13

인터셉터(Interceptor) - Cotroller 공통 로직 처리하기 Spring이 실행되는 흐름은 아래 그림과 같다. 아래 그림과 함께 인터셉터가 무엇인지 살펴보자. 클라이언트로부터 요청(Request)이 들어오면, Filter가 있다면 Filter를 수행한 후, DispatcherServlet을 수행한다. 즉, 필터는 요청이나 응답이 처리되기 전 거치는 것이다. DispatcherServlet은 선처리 작업할 것이 존재하면 선처리 작업을 해주고, HandlerMapping을 통해 실제 어떤 Handler가 동작을 해야 되는지 알아내고, 그 Handler를 실행시킨다. 위 그림을 보면 DispatcherServlet와 Handler 사이에 HandlerInterceptor라고 하는 것이 있다는 것을 볼 수 있을 것이다. 이런 것들을 거쳐 요청 작업이 끝나면 응답 정보를 .. 2019. 8. 26.
세션(Session) 이용하는 방법 세션은 클라이언트 별로 서버에 저장되는 정보이다. 사용자 컴퓨터에 저장되던 쿠키와 다르게 서버에 저장되므로, 비교적 보안이 필요한 데이터는 쿠키보다 세션에 저장한다. 서버가 종료되거나 유효시간이 지나면 사라진다. 1. 세션 이용 방법 웹 클라이언트가 서버에게 요청을 보내면 서버는 클라이언트를 식별하는 session id를 생성한다. 서버는 session id로 key와 value를 저장하는 HttpSession을 생성하고, session id를 저장하고 있는 쿠키를 생성하여 클라이언트에게 전송한다. 클라이언트는 서버 측에 요청을 보낼 때, session id를 가지고 있는 쿠키를 전송한다. 서버는 쿠키의 session id로 HttpSession을 찾는다. javax.servlet.http.HttpSes.. 2019. 8. 26.
쿠키(Cookie) 이용하는 방법 웹은 HTTP 프로토콜로 통신한다. HTTP는 무상태 프로토콜이어서 서버는 클라이언트의 이전 상태를 기억하지 못한다. (더 자세한 내용: 웹이 동작하는 법 (HTTP 프로토콜의 이해) ) 하지만 상황에 따라 클라이언트의 이전 상태를 기억하고 있어야 하기도 하는데, 바로 이럴 때 쿠키라는 기술이 필요하다. 1. 쿠키(Cookie)란? 쿠키는 클라이언트 단에 저장되는 작은 정보의 단위이다. 클라이언트에서 생성하고 저장된다. 서버에서 전송한 쿠키가 클라이언트에 저장될 수 있다. - 쿠키 이용 흐름 서버에서 쿠키 객체를 생성한 후, 응답과 함께 클라이언트의 브라우저로 전송되어, 사용자의 컴퓨터에 서버별로 저장된다. 저장된 쿠키는 다시 해당하는 웹 페이지에 접속할 때(서버한테 다시 요청 보낼 때) 브라우저에서 서.. 2019. 8. 23.