Spring MVC의 흐름
Spring에서 사용하는 MVC 구조는 위와 같이 두가지
MODEL2 방식으로 처리되는 스프링 MVC(XML 설정)
1. 사용자의 Request 를 DispatcherServlet에서 처리한다. Web.xml파일에서 모든 Request를 DispatcherServlet이 받도록 처리하고 있다.
<servlet>
<servlet-name>member</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/member-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>member</servlet-name>
<url-pattern>*.me</url-pattern>
</servlet-mapping>
2, 3. HandlerMapping에서 @RequestMapping 어노테이션이 적용된 것을 기준으로 판단하여 알맞는 컨트롤러를 찾아 동작시킨다.
4. 개발자가 작성하는 클래스 Controller는 Request를 처리하는 로직을 담고 있다. 여기서 로직 처리후 결과 반환은 ViewResolver을 이용한다.
5. Controller에서 반환한 결과를 어떤 view에 출력할것인지 결정한다. servlet-context.xml에 정의된 부분이다.
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
6,7 DispatcherServlet을 통해 만들어진 결과를 View로 보낸다.