본문 바로가기
SPRING/개념

[ 개념 ] 스프링 MVC란? 구조

by hak0205 2023. 2. 12.
반응형

스프링 MVC에 대해서 알아봅니다. Model, View, Controller로 분리하여 개발하는 디자인 패턴으로 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 둡니다.

 

Spring MVC는 다양한 요청을 처리하고 응답하기 위해 주요 구성요소들을 만들어놓고 구성요소들을 확장할 수 있게 만들어 놓습니다.

 

사용자의 다양한 클라이언트요청(HTTP Request)을 처리하고 단순한 텍스트 형식의 응답부터 REST 형식의 응답은 물론 View를 표시하는 html을 return 하는 응답까지 다양한 응답을 할 수 있도록 프레임워크입니다.

 

스프링 MVC란

Spring MVC는 Java기반 응용 프로그램을 구축하기 위한 광범위한 프레임워크인 더 큰 스프링 프레임워크의 구성 요소입니다.  Spring MVC는 프레젠테이션 계층, 비즈니스 로직 계층 및 애플리케이션의 지속성 계층 간에 명확한 관심사를 분리하여 보다 모듈화 되고 유지보수 가능한 코드를 제공합니다. 이는 애플리케이션을 모델, 뷰, 컨트롤러의 세 부분으로 나누는 MVC(모델-뷰-컨트롤러) 패턴을 기반으로 합니다.

 

모델은 애플리케이션의 데이터와 비즈니스 로직을 나타내며, 뷰는 사용자에게 데이터를 제공하는 역할을 하며, 컨트롤러는 사용자 요청을 처리하고 그에 따라 모델과 뷰를 업데이트합니다.

  • Model : 응용 프로그램의 데이터 및 비즈니스 논리를 나타냅니다. 
  • View : HTML, CSS 및 JavaScript와 같은 응용 프로그램의 프리젠 테이션 계층을 나타냅니다. 
  • Controller : 모델과 뷰 사이의 중개자 역할을 하여 사용자 요청을 처리하고 그에 따라 모델을 업데이트합니다.

Spring MVC는 웹 애플리케이션을 구축하기 위한 강력하고 유연한 아키텍처뿐만 아니라 URL 라우팅, 양식 처리 및 보안과 같은 일반적인 웹 개발 작업을 처리하기 위한 많은 기능과 도구를 제공합니다.

 

또한 Hibernate, JPA, Java Server Faces(JSF)와 같은 다른 널리 사용되는 Java 프레임워크 및 기술과 잘 통합됩니다. 전반적으로 Spring MVC는 Java 기반 웹 애플리케이션을 구축하기 위해 널리 사용되고 잘 알려진 프레임워크이며 다음 웹 프로젝트를 구축하기 위한 유연하고 포괄적인 설루션을 찾는 개발자에게 적합합니다.

 

MVC 구조

  1. Dispatcher Servlet : 모든 수신 요청을 관리하고 적절한 컨트롤러로 전송하는 중앙 허브입니다. 모든 HTTP 요청을 수신한 다음 적절한 처리기 메서드로 전달합니다.
  2. 핸들러 매핑 : 수신 요청을 요청 URL 및 기타 속성을 기반으로 적절한 컨트롤러 및 핸들러 메서드에 매핑합니다. 수신 요청을 처리하기 위한 올바른 Controlle와 방법을 식별하는 라우팅 메커니즘으로 작동합니다.
  3. View Resolver : Controller가 반환한 논리적 보기 이름을 렌더링할 수 있는 실제 보기로 해결합니다. 또한 응답을 렌더링 하기 위해 뷰에 필요한 추가 데이터를 추가할 수 있습니다.
  4. 핸들러 인터셉터: 컨트롤러 실행 전후에 들어오는 요청과 나가는 응답을 가로채는 역할을 합니다. 로깅, 보안 및 성능 모니터링과 같은 다양한 용도로 사용할 수 있습니다.

 이렇게 분리하면 복잡한 웹 애플리케이션을 쉽게 개발하고 유지 관리할 수 있습니다.

 

감사합니다.

 

 
미국∙영국
[dɪˈspætʃə(r)]
1. (열차·버스·비행기 등이 정시 출발하도록 관리하는) 운행 관리원[조차원]
2. 비상 차량 배치 담당자
 
 
 
 
반응형

댓글