본문 바로가기
Web/Spring

Spring(6) - Spring MVC

by SeleniumBindingProtein 2022. 1. 29.
728x90
반응형

1. MVC(Model-View-Controller) 패턴 


    1) 아키텍쳐 패턴
    2) 주목적 : Business logic과 Presentation logic을 분리하기 위함.
    3) 사용자 인터페이스로부터 비즈니스 로직을 분리
       => 시각적 요소와 그 이면에서 실행되는 비지니스 로직이 서로 영향 없이 
            쉽게 고칠수 있는 애플리케이션을 만들수 있음.
    4) Model : 애플리케이션의 정보(데이터, Business Logic 포함) 
         View : 사용자에게 제공할 화면 (Presentation Logic)
         Controller : Model과 View 사이 상호 작용을 관리 

2. MVC 컴포넌트 역할
    1) 모델(Model) 컴포넌트
        - 데이터 저장소(DB)와 연동
        - 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일을 함.
        - 여러 개의 데이터 변경 작업을 하나의 작업으로 묶는 트랜잭션을 다루는 일도 함.
        - DAO , VO, Service 클래스에 해당 
    2) 뷰(View) 컴포넌트 
        - 화면을 만드는 일을 함
        - HTML, JSP, JS, CSS  
    3) 컨트롤러 (Controller) 컴포넌트 
        - 클라이언트 요청에 대해 모델과 뷰를 결정하여 전달 
        - Servlet, JSP 

3. 모델2 아키텍쳐 개념 


    1) 모델 1 : Controller 역할을 JSP가 담당함.
        모델 2 : Controller 역할을 Servlet이 담당함.          

4. Spring MVC 
    1) DI와 AOP 기능과 더불어 서블릿 기반의 웹 개발을 위한 MVC 프레임워크를 제공 
    2) 모델 2 아키텍쳐와 Front Controller 패턴을 프레임워크 차원에서 제공 


    3) DispatcherServlet 클래스를 맨 앞단에 놓고, 서버로 들어오는 모든 요청 받아 처리하는 구성 

5. Spring MVC 주요 구성 요소 


    1) DispatcherServlet
    2) HandlerMapping 
    3) Controller 
    4) ModelAndView 
    5) View 
    6) ViewResolver       

6. SimpleUrlController    

7. MultiActionController
    - 여러 요청명에 대해 한개의 컨트롤러에 구현된 각 메서드로 처리할수 있음.
    - InternalResourceViewResolver
        - 뷰 생성하는 기능 제공
        - prefix, suffix 프로퍼티를 이용해 경로를 지정.
    - PropertiesMethodNameResolver
        - URL 요청명으로 컨트롤러의 설정 파일에서 미리 설정된 메서드를 바로 호출해서 사용할수 있음.        

728x90
반응형

'Web > Spring' 카테고리의 다른 글

Spring(8) - Spring Transaction  (0) 2022.01.29
Spring(7) - MyBatis Framework  (0) 2022.01.29
Spring(4) - IoC와 DI  (0) 2022.01.29
Spring(3) - Spring 의존성 주입  (0) 2022.01.29
Spring(2) - Spring Framework  (0) 2022.01.29

댓글