MVC?

박상준·2022년 8월 22일
0

면접지식

목록 보기
14/32
post-thumbnail

Spring MVC?

MVC ??

뭐.. 기초적인 사이트의 경우 PHP를 이용해서 운영이 충분히 가능하다.

하지만 기능이 계속적으로 추가되는 경우.. 힘들다.. 관리가 무척이나 힘들어진다.

뭔가 거대해지고 복잡해는 경우 특정 기준으로 분리, 모듈화를 통해 접근해야한다.

그래서 MVC 패턴이 등장했다.

  1. Model
  2. View
  3. Controller

뜬금포, 라이브러리와 프레임워크의 차이

라이브러리

  • 각각 개별적인 기능들

프레임워크

  • 기본 틀 삼아서 그 위에 무언가를 덧붙여 만드는 것

PHP의 경우 Laravel, CodeIgniter Symfony..

Python의 경우 Django… → 이 친구는 MTV 라고함 Model Template View

Ruby의 경우 Ruby on Rails

Spring MVC?

  • 스프링에서 프리젠테이션 계층을 담당하는 서블릿 기반 MVC 프레임워크이다.
  • 다른 웹 프레임워크에 비해 특정 클래스 상속, 참조 또는 구현 제약사항이 적다
  • POJO(Plain Old Java Object) 를 지향하므로 복잡한 설정 없이 비즈니스 로직에 집중가능
  • Ioc 컨테이너를 사용하여 웹 프레임워크 연계를 위한 추가 설정 없이 Spring MVC를 사용가능

Spring MVC의 동작방식

DispatcherServlet(1/2)

DispatcherServlet은 Spring MVC 의 핵심으로써, 프론트 컨트롤러 역할을 담당한다.

클라이언트의 요청을 받아 응답하는 과정에서 담당할 대상을 선택하고, 그 역할을 분배하는 등의 작업을 수행

웹 애플리케이션 설정파일에서 서블릿 요청을 DispatcherServlet 클래스가 처리하도록 매핑함

DispatcherServlet(2/2)

개발자는 Controller만 구현하고, 그 외의 객체는 Spring MVC가 제공하는 클래스를 사용한다.

DispatcherServlet은 요청에서부터 응답까지의 전체 라이프사이클을 관리한다.

HandlerMapping이 요청을 처리할 컨트롤러를 결정하는 기준에는 URL, 클래스명, 어노테이션 등이 존재한다.

ModelAndView는 요청처리 결과 데이터와 화면에 표시할 View이름을 포함한다.

profile
이전 블로그 : https://oth3410.tistory.com/

0개의 댓글