ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링(Spring) ModelAndView
    Spring(스프링) 2015. 5. 10. 21:52

    ModelAndView


    ● Controller 처리 결과 후 응답할 view와 view에 전달할 값을 저장

    ● 생성자

    - ModelAndView(String viewName) : 응답할 view 설정

    - ModelAndView(String viewName, Map values) : 응답할 view와 view로 전달할 값들을 저장한

    Map 객체

    - ModelAndView(String viewName, String name, Object value) : 응답할 view 이름,

    view로 넘길 객체의 name-value

    ● 주요 메소드


    메소드 

    내용 

    setViewName(String view) 

    응답할 view 이름을 설정 

    addObject(String name, Object value) 

    view에 전달할 값을 설정 

    addAllObject(Map values) 

    view에 전달할 값을 Map에 name-value로 저장하여 한번에 설정 









    Spring MVC의 구성 및 실행 흐름

    다른 MVC 기반의 프레임워크와 마찬가지로 Spring MVC도 컨트롤러를 사용하여 클라이언트의 요청을 처리하게 된다. 이 컨트롤러의 역할을 하는 것이 DispatcherServlet인데, DispatcherServlet을 비롯하여 Spring MVC의 주요 구성 요소는 표 1과 같다.

    구성 요소설명
    DispatcherServlet클라이언트의 요청을 전달받는다. Controller에게 클라이언트의 요청을 전달하고, Controller가 리턴한 결과값을 View에 전달하여 알맞은 응답을 생성하도록 한다.
    HandlerMapping클라이언트의 요청 URL을 어떤 Controller가 처리할지를 결정한다.
    Controller클라이언트의 요청을 처리한 뒤, 그 결과를 DispatcherServlet에 알려준다. 스트러츠의 Action과 동일한 역할을 수행한다.
    ViewResolverCommander의 처리 결과를 보여줄 View를 결정한다.
    ViewCommander의 처리 결과를 보여줄 응답을 생성한다.


    ModelAndView 흐름






    DispatcherServlet 설정 및 스프링 컨텍스트 설정

    ● webxml(자바 웹 어플리케이션 설정파일)에 DipathcerServlet 설정 및 공통으로 사용할 

       어플리케이션 컨텍스트 설정

    ● <servlet> 태그를 이용하여 DispatcherServlet 설정

    ● <servlet-mapping> 태그를 이용하여 요청 URL 패턴 설정


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <!--?xml version="1.0" encoding="UTF-8"?-->
    <!-- web.xml -->
        <display-name>SpringBlog2</display-name>
         
        <servlet>
            <servlet-name>dispatcher</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        </servlet>
     
        <servlet-mapping>
            <servlet-name>dispatcher</servlet-name>
            <url-pattern>*.do</url-pattern>
        </servlet-mapping>
    </web-app>


Designed by Tistory.