1. mvc 프로젝트의 파일 구조
(1) pom.xml
스프링 프레임워크에 필요한 플러그인 등을 다운받을 수 있게 설정되어 있음
(2) web.xml
- context-param으로 contextConfigLocation설정되어있음
- appServlet이라는 서블릿 이름으로 루트 url에 init-param을 설정함.
/WEB-INF/spring/appServlet/servlet-context.xml을 읽어서 org.springframework.web.servlet.DispatcherServlet 클래스에서 사용한다.
DispatcherServlet 클래스는 요청을 수신하여 어느 controller에 요청을 전송할 지 결정한다.
(즉, 모든 url은 여기를 먼저 들린다.)
(이 부분이 DispatcherServlet부분)
(3) servlet-context.xml
- org.springframework.web.servlet.view.InternalResourceViewResolver 클래스에 prefix,suffix를 설정하여 어노테이션을 사용할 때 파일명을 간단히 설정할 수 있다.
(이부분이 ViewResolver부분)
- context:component-scan 설정을 통해, 어노테이션 및 DI 사용을 할 수 있게 세팅해준다.
-
구성요소
(1) DispatcherServlet ( = Front Conroller)
모든 Request를 우선적으로 받아 처리해주는 서블릿
(2) HandlerMapping(url과 매핑)
DispatcherServlet로 들어온 요청을 어떤 Controller에서 처리해줄지 결정
(3) Controller
요청한 로직을 수행하고, 그 데이터를 ModelAndView에 담아 출력한다.
(4) ModelAndView
응답할 view와 view에 전달할 값을 저장.
다만, 다들 편의성을 위해 Model을 사용한다.
(5) ViewResolver
실행할 뷰를 찾는 일
(6) View
응답화면
-
흐름

출처
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=exploit_code&logNo=220136918515