12.08.(목) Spring Framework(2): MVC흐름
Spring MVC 흐름도
대략적인 스프링의 MVC구조를 보여주는 사진이다.
우리가 만든 webSpringTest프로젝트를 실행하면 localhost:1024/myapp/이 실행된다.
이렇게 /myapp/이 요청되면, web.xml을 참고해서 DispatcherServlet을 실행한다.
<!-- Processes application requests -->
<servlet>
<servlet-name>appServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
여기서 DispatcherServlet은 주소값에 따라서 요청을 처리할 컨트롤러로 보내준다. DispatcherServlet은 Controller를 지정하는 Front Controller, 일종의 HQ같은 곳이다.
컨트롤러는 HTTP요청을 처리하고, 필요한 Model(데이터)과 View Name(페이지)를 다시 DispatcherServlet에게 전달해주고,
Dispatcher에서 View Resolver로 Model과 View를 보낸다. ViewResolver는 이를 이용해 페이지를 그리고 클라이언트에게 완성된 페이지를 보여준다.
Maven라이브러리
Maven은 프로젝트 관리도구라고 할 수 있다. 프로젝트 구성에 필요한 라이브러리를 pom.xml에 원하는 라이브러리를 정의하면 네트워크를 통해서 업데이트를 한다.
Maven라이브러리 버전은 https://mvnrepository.com/ 여기서 검색하면 된다.
확인된 spring framework의 가장 최신 RELEASE는 5.2.22.RELEASE이다.
pom.xml을 열어서 Java version과 Spring Framework version을 아래와 같이 작성하자.
저장을 누르면 자동으로 왼쪽에 Maven Dependencies에서 spring관련 라이브러리(dependency)들이 5.2.22.RELEASE버전이 된다.
이제 준비는 끝났으니 실습을 진행해보자.