본문 바로가기

Back_end/Spring

[ 스터디 ] 스프링 웹 프로젝트 - Day 4

DAY - 4


제목: 모델 2 방식과 스프링 MVC


부제: 
모델 2 패턴의 이해,

모델 2에서 Front Controller 패턴으로






모델 2 패턴의 이해

  • 모델 2 방식은 흔히 MVC구조를 응용한 방식이라고 하는데, 가장 핵심적인 내용은 '화면과 데이터 처리를 분리해서 재사용이 가능하도록 하는 구조'라고 할 수 있습니다.

  • 모델 2 구조 MVC

    • 모델(Model)데이터 혹은 데이터를 처리하는 영역을 의미합니다.

    • 뷰(View)결과 화면을 만들어 내는데 사용하는 자원을 의미합니다.

    • 컨트롤러(Controller)웹의 요청(Request)을 처리하는 존재로 뷰와 모델 사이의 중간 통식 역할을 합니다.

  • 모델 2에서 모든 요청은 기본적으로 컨트롤러를 호출합니다. 각 컨트롤러는 자신을 호출하는 특정한 URL을 가지고 있습니다.


모델 2에서 Front Controller 패턴으로

모델 2 방식이 개발자와 웹 퍼블리셔 간의 분업을 이루는 데는 성공했지만, 각 컨트롤러 사이의 중복적인 코드의 문제와 개발자의 개발 패턴의 차이 등의 문제로 인해 모델 2방싱은 좀 더 강제적인 형태인 Front Controller 방식을 적용하게 됩니다.

  • Spring MVC가 사용하는 구조 - Front Controller

  • Front Controller 패턴의 가장 중요한 변화는 전체 로직의 일부만을 컨트롤러가 처리하도록 변경되었다는 점입니다.흔히 '위임' 이라고 하는데, 전체 로직의 일부를 컨트롤러에게 위임하고 모든 흐름의 제어는 앞쪽의 Front Controller가 담당하게 됩니다.

스프링 MVC가 처리해 주는 작업개발자가 직접 해야 하는 작업

URL를 분석해서 적절한 컨트롤러를 찾는 작업. 컨트롤러에 필요한 메소드를 호출하는 작업. 컨트롤러의 결과 데이터를 뷰로 전달하는 작업. 적절한 뷰를 찾는 작업

특정 URL에 동작하는 컨트롤러를 설계하는 작업. 서비스 객체의 생성. DAO 객체의 생성. 컨트롤러 내에 원하는 결과를 메소드로 설계. 뷰에서 전달받은 데이터의 출력