Model View Controller
어플리케이션 구성 시 요소를 세가지 역할로 구분해 서로 영향을 주지 않고 수정 가능한 MVC구조
Model
비즈니스 로직을 담당하며, 데이터를 처리하는 것. 데이터베이스와 연동하는 DAO와 데이터 구조의 DO로 구성되어 있다. 데이터베이스에서 처리하여 데이터를 가공한 뒤 뷰로 전달한다.
View
데이터를 별도 보관하지 않고 화면에 보여주는 자체 영역
Controller
모델과 뷰 사이 다리 역할을 하는 컨트롤러는 입력에 대한 모델과 뷰의 업데이트 로직이 포함되어 있다. 사용자의 요청을 받는 역할은 이 컨트롤러에서 진행된다.
각 영역이 독립적으로 구성되어 의존성이 낮아진다. 개발자 간 협업이 원활하지만, 데이터 처리가 커지면 컨트롤러가 해야 할 일이 많아져 역할 분담이 필요하다.
처리 과정
- Client → DispatcherServlet: 클라이언트로부터 요청을 수신
- Controller: 비즈니스 로직 처리 호출
- Model: 처리 결과를 모델로 설정하여 데이터 처리 → View 이름 반환
- DispatcherServlet → View: 이름에 맞는 뷰를 찾아 화면에 처리
요청
GET
- 브라우저는 특정 주소를 호출
- 해당 작업에 맞는 Controller 작성
- html코드를 이용해 브라우저에서 볼 수 있는 결과 생성
POST
- GET 입력 화면을 위해 작성한 html의 <form>태그 수정
- action을 수정하고, 해당 서블릿을 컨트롤러로 작성
- <form>으로 전달되는 데이터를 읽어 결과 생성
'Framework > Spring' 카테고리의 다른 글
[토비의스프링] 1.3 DAO의 확장 (0) | 2024.11.28 |
---|---|
[토비의스프링] 1.2 DAO의 분리 (0) | 2024.11.27 |
[토비의스프링] 1.1 초난감 DAO (0) | 2024.11.26 |
[Spring] HttpServlet에 대해 (0) | 2023.07.29 |
[Spring] HTTP로 요청 주고 받는 방법 GET, POST (0) | 2023.07.14 |