(Spring) MVC와 Spring MVC

2024. 10. 11. 18:33·Spring

1. MVC(Model-View-Controller) 패턴

  • MVC 패턴은 소프트웨어 디자인 패턴 중 하나로, 사용자 인터페이스와 비즈니스 로직을 분리하여 개발을 용이하게 만드는 구조입니다.

→ 구성 요소

  • Model : 애플리케이션의 데이터와 그 데이터를 처리하는 비즈니스 로직을 담당합니다.
  • View : 사용자에게 데이터를 표시하는 부분으로, UI 요소를 담당합니다.
  • Controller : 사용자의 입력을 받아 Model과 View를 연결해주는 중간 역할을 합니다.

→ MVC의 흐름

  1. 사용자의 요청이 Controller로 전달됩니다.
  2. Controller는 적절한 Model을 호출하여 데이터를 처리합니다.
  3. Model의 데이터를 View에 전달하여 사용자에게 결과를 보여줍니다.

 

2. Spring MVC

  • Spring MVC는 Spring 프레임워크 내의 웹 애플리케이션을 위한 MVC 구현체입니다. 이 패턴을 기반으로 하여 웹 애플리케이션을 보다 체계적으로 구성할 수 있도록 도와줍니다.

→ 주요 특징

  • DispatcherServlet : Spring MVC의 진입점으로, 모든 요청을 받아서 적절한 Controller로 분배합니다.
  • Controller : 사용자의 요청을 처리하고 적절한 Model과 View를 연결합니다.
  • ModelAndView : Controller가 처리한 데이터를 담아 View에 전달할 때 사용하는 객체입니다.
  • View Resolver : View 이름을 기반으로 실제 View 파일의 위치를 찾는 역할을 합니다.

→ Spring MVC의 흐름

  1. 사용자의 요청이 DispatcherServlet으로 전달됩니다.
  2. DispatcherServlet은 요청을 처리할 적절한 Controller를 호출합니다.
  3. Controller는 비즈니스 로직을 처리하기 위해 Model을 호출합니다.
  4. Model에서 처리된 데이터는 ModelAndView를 통해 View로 전달됩니다.
  5. View Resolver가 실제 View 파일을 찾아 사용자에게 결과를 보여줍니다.

 

3. MVC와 Spring MVC의 차이점

  • 일반적인 MVC 패턴은 애플리케이션의 구조를 정의하는 디자인 패턴입니다.
  • Spring MVC는 Spring 프레임워크를 기반으로 하여 MVC 패턴을 웹 애플리케이션에 적용한 구현체입니다.
  • Spring MVC는 DispatcherServlet, View Resolver 등의 Spring 구성 요소를 제공하여 MVC 구조를 간편하게 적용할 수 있게 해줍니다.
저작자표시 비영리 변경금지 (새창열림)

'Spring' 카테고리의 다른 글

(Spring) DI와 IOC 이해하기  (0) 2024.10.18
(Spring) Servlet & DispatcherServlet 개념  (0) 2024.10.14
(Spring) Lombok & Application Properties  (0) 2024.10.07
(Spring) 테스트 코드 작성  (0) 2024.10.02
(Spring) 서버 관련 개념 정리  (0) 2024.09.26
'Spring' 카테고리의 다른 글
  • (Spring) DI와 IOC 이해하기
  • (Spring) Servlet & DispatcherServlet 개념
  • (Spring) Lombok & Application Properties
  • (Spring) 테스트 코드 작성
lastdove
lastdove
lastdove 님의 블로그 입니다.
  • lastdove
    lastdove 님의 블로그
    lastdove
  • 전체
    오늘
    어제
    • 분류 전체보기 (80)
      • Spring (16)
      • JAVA (17)
      • JAVA 알고리즘 (20)
      • Project (5)
      • SQL 문제풀이 (17)
      • Git&Linux (2)
      • Web development(입문) (2)
      • Sparta (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
lastdove
(Spring) MVC와 Spring MVC
상단으로

티스토리툴바