스프링 MVC패턴(Model, View, Controller) Model 2

이종임·2023년 3월 9일

Spring

목록 보기
2/2
post-thumbnail

MVC(Model, View, Controller)패턴

  • MVC 패턴은 지금까지 학습한 것 처럼 하나의 서블릿이나, JSP로 처리하던 것을 Controller
    View라는 영역으로 서로 역할을 나눈 것을 말한다. 웹 애플리케이션은 보통 이 MVC 패턴을 사용한다

MVC 패턴 구조

  • 컨트롤러: HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을 실행한다. 그리고 뷰에 전달할 결과 데이터를 조회해서 모델에 담는다.

  • 모델: 뷰에 출력할 데이터를 담아둔다. 뷰가 필요한 데이터를 모두 모델에 담아서 전달해주는 덕분에 뷰는 비즈니스 로직이나 데이터 접근을 몰라도 되고, 화면을 렌더링 하는 일에 집중할 수 있다.

  • 뷰: 모델에 담겨있는 데이터를 사용해서 화면을 그리는 일에 집중한다. 여기서는 HTML을 생성하는 부분을 말한다

MVC 패턴 흐름

1) client의 request를 controller가 받음
2) request를 받은 controller는 비지니스 로직과 서비스를 처리하고 model에 담는다.
3) 처리결과를 받은 model을 가지고 view를 제어해 client에게 응답한다.

스프링 프레임워크(Spring framework) MVC 패턴 흐름


출처:https://steady-snail.tistory.com/66?category=788300

1) client의 요청

2) DispatcherServlet(Front Controller)가 servlet-context.xml 파일의 @Controller 인자를 통해 등록한 요청 위임

3) HandlerMapping에서 client의 요청 URL에 맞는 controller를 탐색 @RequestMapping을 통해 요청을 처리할 메소드로 이동

4) controller는 요청을 처리할 서비스를 service에게 넘김

5) service는 비즈니스 로직을 처리 후 DAO에게 넘김

6) DAO는 DB에서 가져온 정보를 service에게 넘김

7) service는 DAO에게 전달받은 정보를 Controller에 넘김

8) controller는 model객체를 view에 담아 DispatcherServlet에게 전달함

9) DispatcherServlet는 ViewResolver에게 전달받은 View정보를 전달

10) ViewResolver는 응답할 View에 대한 JSP를 찾아 DispatcherServlet에게 전달

11) DispatcherServlet는 응답할 뷰의 Render를 지시하고 뷰는 로직을 처리

12) DispatcherServlet는 클라이언트에게 Rendering된 뷰를 응답

profile
안녕하세요 하루하루 최선을 다하는 이종임입니다.

0개의 댓글