Spring
[스프링 프레임워크] 5. MVC 모델 알아보기
yes_truly
2023. 10. 17. 01:37
728x90
1. MVC 모델 알이보기
1) MVC 모델이란?
- 프로그램의 처리 역할을 나눠 프로그램을 작성하는 방법
- Model, 모델
: 비즈니스 로직 즉, 시스템의 코어 부분, 시스템의 목적을 처리하는 부분을 담당 - View, 뷰
: 사용자 입력과 결과 출력 등 시스템에서 표현 부분을 담당 - Controller, 컨트롤러
서비스 처리를 담당하는 모델과 화면 표시를 담당하는 뷰를 제어하는 역할
2) MVC 모델의 개요와 이점
- 서비스 처리 모델, 보기 뷰, 제어 컨트롤러로 분류함으로 인해 프로그램의 독립성이 높아짐
- 이점 존재
- 역할 분담을 통해 효율적인 개발 가능
- 개발하는 엔지니어의 분업화 용이
- 설계 변경에 유연하게 대응 가능
2. 스프링 MVC 알아보기
1) 스프링 MVC란?
- 웹 애플리케이션을 간단하게 만들 수 있는 기능을 제공하는 프레임 워크
- 주요 기능
- 화면 전환
- 사용자가 사용하는 브라우저와 서버 간 입풀력 데이터 전달 단순화
- 주요 구성 요소
- DispatcherServlet : 모든 요청을 수신하는 프런트 컨트롤러
- Model : 컨트롤러에서 뷰에 넘겨주는 표시용 데이터 등을 저장하는 객체
- 컨트롤러 : 요청에 대응해서 처리할 내용이 있는 곳
- 서비스 처리 : 데이터베이스에 접속해 데이터를 취득하거나 데이터를 가공하는 등 여러 작업을 실행
- 뷰 : 화면 표시 처리
2) 요청을 받고 응답을 보낼 때 까지의 흐름
- 스프링 MVC에서 요청에서 응답까지의 흐름
- 모든 요청을 수신하는 프론트 컨트롤러인 DispatcherServlet이 클라이언트로부터 요청 수신
- DispatcherServlet이 컨트롤러의 요청 핸들러 메소드 호출
- 컨트롤러는 비즈니스 로직 처리를 호출하고 처리 결과를 받음
- 받은 처리 결과를 모델로 설정하고 뷰 이름 반환
- 반환된 뷰 이름을 받아 DispatcherServlet이 뷰 이름에 대응하는 뷰에 대해 화면 표시 처리 의뢰
- 클라이언트가 응답을 받고 브라우저에 화면 표시
- 번거로운 처리는 스프링 MVC가 담당
- 코드를 작성할 부분 : 컨트롤러, 비즈니스 로직 처리, 뷰
3. 스프링 MVC 사용해보기
1) 컨트롤러 관련 어노테이션
- @Controller
- 인스턴스 생성 어노테이션
- 클라이언트와 데이터 입출력을 제어하는 애플리케이션의 레이어의 컨트롤러 부여
- 요청 핸들러 메소드의 반환값을 뷰 이름으로 해 템플릿 엔진의 뷰가 응답 HTML을 생성
- @RequestMapping
- 컨트롤러의 요청 핸들러 메소드와 URL 매핑
- 지정할 속성
- Value
매핑할 URL 경로 지정
처음의 /를 생략할 수 있음
URL 경로만 지정하는 경우에는 속성에서 value 생략 가능
URL 경로를 여러 개 지정할 수 있음 - method
GET, POST등의 HTTP메소드 지정
GET 지정하는 경우 RequestMethod.GET사용
POST 지정하는 경우 RequestMethod.POST사용
HTTP 메소드 여러 개 지정할 수 있음
클래스에 @RequestMapping 부여하는 경우 지정할 수 없음
- Value
- @GetMapping
- GET 요청용 어노테이션
- @RequestMapping과 value속성은 같지만 method속성은 없음
- @PostMapping
- POST 요청용 어노테이션
- @RequestMapping과 value속성은 같지만 method속성은 없음
728x90