Back-End/Servlet

Servlet ■ MVC 개요

SIKIDA 2024. 8. 28. 09:59
728x90

 

프로그래밍 기초 - MVC 개요

 

MVC (Model – View - Controller)

  • MVC 개념
    MVC는 소프트웨어 개발에서 사용되는 디자인 패턴으로, 모델, 뷰, 컨트롤러로 분리하여 개발하는 방법론입니다.
  • MVC의 장점
    1. 유연성: 구성 요소를 분리하여 개발하므로 각 부분을 독립적으로 수정하거나 확장하기 용이합니다.
    2. 유지보수성: 코드의 가독성이 좋고 유지보수에 용이합니다.
    3. 확장성: 새로운 기능이나 모듈을 추가하기가 용이합니다.

 

MVC 구성 요소

  • 모델(Model)
    데이터 처리를 담당하며, 데이터베이스 또는 외부 소스와 상호작용을 처리합니다.
  • 뷰(View)
    사용자에게 데이터를 시각적으로 보여주기 위한 파일들이 위치한 곳입니다. 예를 들어 index.jsp, board.jsp 등이 있습니다.
  • 컨트롤러(Controller)
    모델과 뷰 사이에서 상호작용을 관리하며, 대부분의 데이터 가공 처리는 컨트롤러에서 진행됩니다. 사용자의 입력을 받아 모델에 전달하고, 모델로부터 받은 데이터를 뷰에 전달합니다.

 

MVC Controller의 예시

  • Controller에서의 URL 매핑
    • 예시: @WebServlet("/boardList.do")
      @WebServlet("/boardInsert.do")
      @WebServlet("/boardUpdate.do")

  • Model 구성 요소
    • Service
    • DAO
    • VO/DTO/Entity

 

MVC Controller의 흐름 순서

  1. Request
    예시: http://도메인:포트번호/boardList.do

  1. Model 처리
    • Service: 비즈니스 로직 처리
    • DAO: 데이터베이스 연결 및 쿼리 실행
    • DB: 쿼리 실행 결과 반환

  1. View 처리
    • JSP 페이지: boardList.jsp, notice.jsp, register.jsp, login.jsp
    • 데이터 바인딩: 변수와 객체 전달

 

MVC View

  • MVC - View
    View는 사용자에게 화면을 시각적으로 표현하고, 사용자의 입력을 받는 코드들이 모여 있는 공간입니다. CSS, JS, JSP 등이 포함됩니다.

MVC - Controller

  • MVC - Controller
    모델과 뷰 사이에서 상호작용을 관리하고 데이터 가공 처리를 진행하는 부분입니다. 사용자가 요청한 URL을 매핑하여 특정 작업을 수행합니다.

MVC - Model

  • Model 구성 요소
    • Service: 비즈니스 로직을 처리하는 역할을 수행하며, 데이터 검증 및 데이터베이스 연결 등의 작업을 담당합니다.
    • DAO: 데이터베이스에 연결하여 쿼리를 실행하고, 데이터베이스 관련 작업을 수행합니다.
    • DTO: 데이터를 표현하는 객체로, 변수들을 setter/getter를 통해 관리합니다.
    • VO: DTO와 유사하지만, setter를 가지지 않으며 read-only 속성을 가집니다.
    • Entity: 데이터베이스 테이블과 매핑되어 있는 객체로, DB Layer에서 사용되며 자주 변경되지 않아야 합니다.

 

MVC - Model의 패키지 구조

  • MVC – Model 패키지 구조
    회사 또는 개발자의 스타일에 따라 패키지 구조가 다를 수 있습니다.

 

 

MVC 코드 훑어보기

MVC - Controller

  • Controller 코드
    • URL 매핑, 요청 처리 로직 등이 포함됩니다.

MVC - DTO

  • DTO 코드
    • 변수 관련 getter/setter, 생성자 등이 포함됩니다.

MVC - Service

  • Service 코드
    • 인터페이스로 특정 기능에 따라 추상 메소드를 작성합니다.

MVC - ServiceImpl

  • ServiceImpl 코드
    • 데이터베이스 연결, 쿼리 결과 검증 등의 비즈니스 로직을 처리합니다.

MVC - DAO

  • DAO 코드
    • 데이터베이스 연결 및 쿼리 수행, 결과 반환 등의 작업을 수행합니다.

 

 

 

오늘은 MVC 패턴에 대해서 정리를 진행하고 공부했다!
어떻게 보면 기본중에 기본이며 제일 중요한 파트라고 생각한다
그럼 오늘도 20000 화이팅!

'Back-End > Servlet' 카테고리의 다른 글

Servlet ■ MVC 패턴 구현  (0) 2024.08.30
Servlet ■ 폴더 구조 관리하기  (0) 2024.08.26
Servlet ■ JSP  (0) 2024.08.25
Servlet ■ URL Mapping - GET,POST  (0) 2024.08.22
Servlet ■ Servlet 사용하기  (0) 2024.08.21