Spring MVC

강다빈·2023년 11월 12일
0

backend

목록 보기
3/5

웹 계층 담당 모듈

Spring Web MVC : Servlet API를 기반으로 클라이언트 요청을 처리하는 모듈.

  • client 요청을 편리하게 해주는 기능 제공

Servlet

클라이언트의 요청을 처리하도록 특정 규약에 맞춰 java 코드로 작성하는 클래스 파일

아파치 톰캣 = 서블릿 컨테이너. → docker 같은건가?

  • Spring MVC 내부 → 서블릿 기반으로 웹 애플리케이션 동작
  • 스프링 부트 → default : 아파치 톰캣 내장

MVC 패턴 - 애플리케이션을 개발할 때 사용하는 디자인 패턴.

UI 영역과 도메인(비즈니스 로직) 영역 구분 → 서로에게 영향을 주지 않고 개발과 유지보수 가능하게 됨.

Model

Spring MVC 기반의 웹 앱이 클라이언트의 요청을 전달받음 → 요청 처리 ⇒ 응답 데이터 = Model

  • 서비스 계층 : 클라이언트 요청 사항 구체적 처리 영역
  • 비즈니스 로직 : 요청 사항을 처리하기 위해 Java 코드로 구현한 것

View

화면에 보이는 리소스 제공 역할

  • HTML 페이지 출력
  • PDF, Excel 등의 문서 형태로 출력
  • XML, JSON 등 특정 형식의 포맷으로 변환

Controller

모델과 뷰 사이 중간자 역할. 엔드포인트

MVC 패턴의 구조

유지보수하기 좋으나, 구조가 복잡함

Spring MVC의 동작 방식과 구성 요소

DispatcherServlet

HttpServlet을 상속받아 사용하고, 서블릿으로 동작

주요 기능

  1. 요청 분배 : 사용자의 요청(http)에 대한 적절한 핸들러를 찾아주는 역할
  2. 뷰 관리 : 컨트롤러 요청 처리 후, 사용자에게 응답으로 제공되는 화면(html, json 등) 결정
  3. 모델과 뷰 연결
  4. 핸들러 매핑과 어댑터 관리
    1. 핸들러 매핑 : 어떤 컨트롤러가 특정 url을 처리할지 결정
    2. 어댑터 : 각 컨트롤러가 요청을 처리하는 방식 결정
  5. 예외 처리 : 요청 처리 중에 발생할 수 있는 예외 처리, 예외에 따라 적절한 응답 생성

참고링크

profile
SKT DEVOCEAN YOUNG 2기, Kubernetes Korea Group

0개의 댓글

관련 채용 정보