시뻘건 개발 도전기

#7 : MVC (Model View Controlle 본문

Framework/spring

#7 : MVC (Model View Controlle

시뻘건볼때기 2020. 5. 4. 22:27
반응형

  MVC 기반의 spring project를 생성하면 기본적으로 다음과 같은 디렉토리 구조를 볼 수 있다.

기본 MVC spring project

 

  가장 먼저 servlet-context.xml에 대해 알아보자. 대체적으로 spring container 설정을하는 파일이다.

servlet-context.xml

  1. <annotation-driven />
    • 어노테이션 사용 가능하도록하는 태그
  2. <resources mapping="/resources/**" location="/resources/" />
    • spring resource path와 범위 설정
    • 때때로 image 혹은 css, js 등과 같은 파일들이 모여있는 resource들을 이 태그를 이용해 적용한다.
  3. <beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    • view역할을 할 파일들의 위치 및 범위 설정
    • <beans:property> 태그를 사용하여 path와 파일명을 지정할 수 있다.
  4. <context:component-scan base-package="kr.co.dotori" />
    • controller를 찾을 클래스의 기본 패키지 설정

 

  다음은 root-context.xml 파일에 대해 알아보자. 기본 설정은 아무것도 되어 있지 않는다. 왜냐하면 초기에는 사용하지 않기 때문이다. 해당 파일은 대체적으로 mvc설정과 관련된 여러가지를 담당하데 되는데, 특히나 DAO, DTO 등과 같은 파일들을 어떻게 사용할 것인가에 대해서 bean들을 설정하는 파일이다. 혹 database 연동하게 되면 사용할 일이 있을 것이다.

 

  마지막으로 web.xml 파일에 대해 알아보자.

web.xml

 

Dispatcher 서블릿 맵핑과 spring 설정 파일의 위치를 설정하고 있다.

 

  지금까지 각 설정파일에 대해 알아보았다. 그렇다면 이 설정파일들이 정상적으로 작동 되었을 때, 과연 MVC 패턴은 어떤 식으로 흘러가는지 알아보자.

spring MVC 패턴

 

  위 그림은 내가 취준생 시절에 spring 프로젝트 개발을 하면서 그려놓은 것을 참고했다. 잘 보면 다음과 같은 flow대로 패턴이 수행된다.

  1. Client의 요청
  2. Controller라 불리우는 servlet에서 로직 실행
  3. database가 연동되어 있다면 DAO와 DTO로 데이터베이스 사용
  4. view 응답

보기에는 간단하지만 복잡하고 규모가 큰 프로젝트를 만들 때에는 굉장히 힘들었던 기억이 난다...핳핳핳

 

반응형

'Framework > spring' 카테고리의 다른 글

#9 : Client의 데이터 가져오기!  (0) 2020.05.06
#8 : Controller  (0) 2020.05.05
#6 : AOP (Aspect Oriented Programming)  (0) 2020.05.03
#5 : bean setting  (0) 2020.05.02
#4 : Bean Scope  (0) 2020.05.01
Comments