Spring MVC

최지홍·2022년 4월 18일
0

매일 공부

목록 보기
33/40

MVC Pattern

  • Model
    • Service, DAO 등
    • 애플리케이션 상태 캡슐화
    • 비즈니스 로직 처리
    • 변경을 View에게 통지
  • View
    • Model을 화면에 시각적으로 표현
    • 사용자 입력을 Controller에 전달
    • Controller가 View를 선택하도록 허용
  • Controller
    • 애플리케이션의 행위 정의
    • 응답에 대한 View 선택

Spring MVC

  • DI나 AOP 같은 기능 뿐 아니라, Servlet 기반의 웹 개발을 위한 MVC Framework 제공
  • Model 2 Architecture와 Front Controller Pattern 제공
  • DispatcherServlet(Front Controller)
    • Front Controller: Controller 앞단에 위치해서 기능 수행
    • 모든 클라이언트의 요청을 받음
    • Controller에게 클라이언트의 요청을 전달하고, Controller가 리턴한 결과값을 View에게 전달하여 알맞은 응답 생성
  • HandlerMapping
    • 클라이언트의 요청 URL을 어떤 Controller가 처리할지 결정
    • URL과 요청 정보를 기준으로 어떤 핸들러 객체(Controller)를 사용할지 결정하는 객체이며, DispatcherServlet은 하나 이상의 핸들러 매핑을 가질 수 있음
  • Controller
    • 클라이언트의 요청 처리 후, Model을 호출하고 ModelAndView 리턴
  • ModelAndView
    • Controller가 처리한 데이터 및 화면에 대한 정보 보유(Model과 View의 이름)
  • ViewResolver
    • Controller가 리턴한 View의 이름을 기반으로 View 결정
  • View
    • 응답 화면 생성

구현 단계

  • web.xml에 DispatcherServlet 등록 및 Spring 설정 파일 등록
    • 컨테이너는 설정 파일의 내용을 읽고 ApplicationContext 객체 생성
    • 1개 이상의 DispatcherServlet 설정 가능
    • 각 DispatcherServlet 마다 각각의 ApplicationContext 생성
  • 설정 파일에 HandlerMapping 설정
  • Controller 구현 및 Context 설정 파일에 등록
  • Controller와 jsp의 연결을 위해 ViewResolver 설정
  • jsp 코드 작성
profile
백엔드 개발자가 되자!

0개의 댓글