Spring Web MVC 모듈은 스프링의 사상을 기반으로 웹 어플리케이션을
개발할 수 있도록 MVC 프레임워크를 제공한다.
Spring
Web MVC의 아키텍쳐를 다음과 같이 간략하게 그림으로 표시 할 수 있다. 들어오는 모든
HTTP 요청은 Dispatcher Servlet이 캐치하고
이를 처리할 Controller와 View를 찾아 순서대로
위임해서 처리시키고 다시 결과값을 받아 이를 클라이언트한테 준다.
어떤 컨트롤러가 요청을 처리할 지는 URI에 따라 결정된다. http://myapp:8080/<컨텍스트 경로>/<디스패쳐 서블릿 경로>/<컨트롤러 매핑 URL>과 같이 요청이
들어오면, Dispatcher Servlet이 처리할 컨트롤러를 찾아서 위임한다.
컨트롤러가 일을 다 마치고 리턴값을 주면 이 리턴값을
바탕으로 Dispatcher Servlet은 요청을 처리할 View
Template을 찾아서 위임한다. View가 로직을 다 처리하고 반환값을 주면 Dispatcher Servlet은 클라이언트에게 응답을 준다.
한편,
Spring Web MVC로 만든 프로젝트는 빈 정의를 관리하는 컨텍스트 객체를 가질 수 있다. 크게
두가지 종류로 나눌 수 있는데, 첫째는 어플리케이션 내 모든 서블릿과 필터에서 공유하는 빈을 정의하는
루트 웹 어플리케이션 컨텍스트 객체이다. 둘째는 특정 디스패쳐 서블릿에서만 사용할 수 있는 웹 어플리케이션
컨텍스트 객체이다.
댓글
댓글 쓰기