본문 바로가기
Java | spring/Spring

Model 2 방식과 스프링 MVC

by 워니 wony 2021. 5. 14.

모델 2 방식은 흔히 MVC 구조를 응용한 방식이라고 하는데, 핵심은 '화면과 데이터 처리를 분리해서 재사용이 가능하도록 하는 구조'

 

모델 2 패턴의 이해

  • 모델(Model) : 데이터 혹은 데이터를 처리하는 영역
  • (View) :  결과 화면을 만들어 내는데 사용하는 자원
  • 컨트롤러(Controller) : 웹의 요청(request) 처리하는 존재로 뷰와 모델 사이의 중간 통신 역할

 

모델2 에서 모든 요청은 기본적으로 컨트롤러를 호출 / 컨트롤러는 자신을 호출하는 특정한 URI 경로를 가지고 있으며, 과거에는 주로 호출 시에 마지막 확장자를 *.do 등을 이용하는 방식을 많이 사용

 

 

모델 2 방식의 장점

  • 개발자와 퍼블리셔의 영역을 분리 가능
  • 컨트롤러의 URL 통해서 뷰를 제어하기 때문에 뷰의 교체나 변경과 같은 유지 보수에 유용

 

모델2에서 Front Controller 패턴으로

기존 모델 2 컨트롤러 사이의 중복적인 코드의 문제와 개발자의 개발 패턴의 차이 등의 문제로 인해 모델2 방식은 강제적인 형태인 Front Controller 방식을 적용하게

프론트 컨트롤러 패턴의 가장 중요한 변화는 전체 로직의 일부만을 컨트롤러가 처리하도록 변경되었다는 , 전체 로직의 일부를 컨트롤러에게 위임하고 모든 흐름의 제어는 앞쪽의 프론트 컨트롤러가 담당하게

 

스프링 MVC 컨트롤러

  • 컨트롤러 무엇을 처리하는가
    • 파라미터의 수집 : 웹에서 가장 많이 하는 작업, 사용자의 요청에 필요한 데이터를 추출하고 이를 Vo 혹은 DTO 변환하는 파라미터의 수집 작업, 스프링인 자동으로 해준다.
    • 애노테이션을 통한 간편 설정 : 애노테이션 추가 작업을 통해서 요청이나 응답에 필요한 모든 처리를 완료
    • 로직의 집중 : 애노테이션으로 하나의 컨트롤러에 여러 메소드를 작성할 있음
    • 테스트의 편리함 : 스프링은 테스트 모듈을 사용해서 스프링 MVC 작성된 코드를 WAS 실행 없이도 테스트 있는 편리한 방법을 제공
반응형

댓글