Spring Web; MVC

MVC패턴

  • Model : 어플리케이션의 정보, 데이터를 의미한다.
  • View : 사용자 인터페이스, 사용자가 보고 사용하는 화면을 의미한다.
  • Controller : 모델과 뷰의 중계 역할. 사용자의 요청을 파악하고 그에 맞는 결과를 응답한다.

스프링 웹 MVC의 구조

  • 요청당 컨트롤러에 매핑되는 서블릿이 각각 존재했다. 중복코드를 방지하고 일관된 관리를 위해 프론트 컨트롤러가 생겼다.
  • Front controller : 프론트 컨트롤러는 컨트롤러 앞에 존재하는 모든 흐름 제어를 담당한다. 다른 웹 프레임워크에도 존재한다.

스프링 웹 MVC의 dispatcher servlet

  • 스프링 MVC에서는 dispatcher servlet이 front controller의 역할을 수행한다.

일반적으로 사용하는 스프링 MVC의 구조

  • View : 사용자가 보는 화면 또는 결과를 의미 한다.
  • Controller : 사용자가 웹 브라우저를 통해서 어떠한 요청을 하면 그 요청을 처리할 컨트롤러를 호출하게 된다. 컨트롤러는 사용자의 요청을 처리하기 위한 비즈니스 로직을 호출하고 그 결과값을 사용자에게 전달해 주는 역할을 한다.
  • Service : 사용자의 요청을 처리하기 위한 비즈니스 로직이 수행된다. 일반적으로 서비스 영역은 서비스 인터페이스와 구현체로 나뉜다.
  • DAO : 데이터베이스에 접속해서 비즈니스 로직 실행에 필요한 쿼리를 호출한다.
  • DB : 데이터베이스는 어플리케이션에서 발생한 모든 정보가 저장되어있다.