[Spring] Spring Web MVC 모듈 (1)-개요



Spring Web MVC 모듈은 스프링의 사상을 기반으로 웹 어플리케이션을 개발할 수 있도록 MVC 프레임워크를 제공한다.




Spring Web MVC의 아키텍쳐를 다음과 같이 간략하게 그림으로 표시 할 수 있다. 들어오는 모든 HTTP 요청은 Dispatcher Servlet이 캐치하고 이를 처리할 ControllerView를 찾아 순서대로 위임해서 처리시키고 다시 결과값을 받아 이를 클라이언트한테 준다.


어떤 컨트롤러가 요청을 처리할 지는 URI에 따라 결정된다. http://myapp:8080/<컨텍스트 경로>/<디스패쳐 서블릿 경로>/<컨트롤러 매핑 URL>과 같이 요청이 들어오면, Dispatcher Servlet이 처리할 컨트롤러를 찾아서 위임한다.

컨트롤러가 일을 다 마치고 리턴값을 주면 이 리턴값을 바탕으로 Dispatcher Servlet은 요청을 처리할 View Template을 찾아서 위임한다. View가 로직을 다 처리하고 반환값을 주면 Dispatcher Servlet은 클라이언트에게 응답을 준다

한편, Spring Web MVC로 만든 프로젝트는 빈 정의를 관리하는 컨텍스트 객체를 가질 수 있다. 크게 두가지 종류로 나눌 수 있는데, 첫째는 어플리케이션 내 모든 서블릿과 필터에서 공유하는 빈을 정의하는 루트 웹 어플리케이션 컨텍스트 객체이다. 둘째는 특정 디스패쳐 서블릿에서만 사용할 수 있는 웹 어플리케이션 컨텍스트 객체이다.


댓글