본문 바로가기

Spring

MVC구조

반응형

스프링 MVC 프로젝트를 구성하기 위해서 사용한다는 의미는 내부적으로 root-context.xml 로 사용하는 일반 java영역(POJO)과 serv;et-context.xml로 설정하는 web관련 영역을 같이 연동해서 구동하게 됩니다. 그림으로 간단하게 표현하면 다음과 같은 구조라고 볼수 있다.

바깥쪽에 있는 WebApplicationContext라는 존재는 기존의 구조에 MVC 설정을 포함하는 구조로 만들어 집니다. 스프링은 원래 목적 자체가 웹 애플리케이션을 목적으로 나온 프레임워크가 아니기 때문에 달라지는 영역에 대해서는 완전히 분리하고 연동하는 방식으로 구현되어 있습니다.

 

 

스프링MVC 기본사상

스프링 MVC를 이용하게 되면 개발자들은 직접적으로 HttpServletRequest/HttpServletResponse 등과 같이   Servlet/JSP의 API를 사용 필요성이 현저하게 줄어든다. 스프링은 중간에 연결 연할을 하기 때문에 이러한 코드를 작성하지 않고도 원하는 기능을 구현할수 있다.

 

 

MVC패턴

 

  • Model : 백그라운드에서 동작하는 로직을 처리합니다.
  • View : 사용자가 보게 될 결과 화면을 출력합니다.
  • Controller : 사용자의 입력처리와 흐름 제어를 담당합니다.

 

 

 

모델1

구조는 사용자의 요청을 JSP가 전부 다 처리한다 Java Bean, Custom Tag를 이용하여 재사용 가능한 부분이지만 복잡한 로직을 넣어개발하는 방법이 가장 많이 사용되지만 그 또한 Model 1 개발방식이다.

 


모델2

사용자의 Request는 특별한 상황이 아닌 이상 먼저 Controller를 먼저 호출한다

이렇게 설계하는 가장 중요한 이유는 나중에 View를 교체하더라도 사용자가 호출하는 URL자체에 변화가 없게 만들어주기 위함이다.

컨트롤러는 데이터를 처리하는 존재를 이용해서 데이터(model)를 처리하고 Response할 때 필요한 데이터(model)를 View쪽으로 전달하게 된다. 

 

반응형

'Spring' 카테고리의 다른 글

@PathVariable(스프링 지향)  (0) 2020.12.01
SprtingSecurity(메뉴 권한 및 WebIgnore 설정)  (0) 2020.11.14
Oracle 연동  (0) 2020.11.09
Aop 패러다임  (0) 2020.11.09
Rest  (0) 2020.11.01