Spring Framework 의 패턴인 Spring MVC
Spring MVC 란 ?
소프트웨어 엔지니어링에서 사용자 인터페이스와 애플리케이션 로직을 분리하는데 사용되는 패턴
Model - View - Controller 의 약자
Model
- 애플리케이션의 비즈니스 계층.
- 애플리케이션의 상태를 나타내는 데이터 계층.
- 뷰가 렌더링하는데 필요한 데이터.
- Java 클래스로 구성.
View
- 애플리케이션의 프리젠테이션 계층.
- 애플리케이션에서 실제로 보이는 부분.
- UI 형식의 응용 프로그램 출력.
- jsp 페이지로 구성.
Controller
- 애플리케이션의 흐름을 관리.
- 사용자의 액션에 응답하는 컴포넌트.
- Model 을 업데이트하고 다른 액션들을 수행한다.
- View 와 Model 간의 인터페이스 역할.
- View 계층에서 요청을 받고 필요한 유효성 검사를 수행한 후 요청을 처리한다.
- 서블릿으로 구성.
MVC 패턴은 Java Web Programming 에서 MVC1, MVC2 두가지 패턴으로 나눈다
MVC 1 패턴
- View, Controller 모두 jsp 가 담당하는 형태를 가진다.
- jsp 하나로 요청을 받고 응답을 처리하므로 구현 난이도는 쉬우나 jsp 에서 모두 MVC 가 이루어진다.
- 재사용성이 떨어지고 유지보수 시 어려움이 있다.
MVC 2 패턴
- spring 이 채택한 표준으로 사용되는 패턴.
- 요청을 하나의 컨트롤러(servlet) 가 먼저 받는다.
- servlet 이 java bean 을 이용해서 database 에서 데이터를 가져와 그 결과를 jsp 를 통해 화면에 출력한다.
- servlet 은 요청과 데이터를 처리하는 Controller 의 역할을 수행하고,
- jsp 는 모델의 결과를 보여주는 view 의 역할을 수행한다.
- 이렇게 View 와 Controller 를 분리할 수 있다.
- MVC1 의 단전을 보완한 패턴으로 재사용성이 편리하여 유지보수 시 큰 이점을 가진다.
'📗 스프링 Spring' 카테고리의 다른 글
[스프링/Spring] 요청방식 (@RequestMapping / @GetMapping / @PostMapping) (0) | 2021.05.13 |
---|---|
[스프링/Spring] URL Mapping (0) | 2021.05.13 |
[스프링/Spring] Spring MVC 세팅 Java (0) | 2021.05.13 |
[스프링/Spring] Spring MVC 세팅 XML (0) | 2021.05.13 |
[스프링/Spring] Spring MVC - DispatcherServlet (0) | 2021.05.06 |