Spring 소스 분석 - View로 Model이 전달되는 방법

- Controller에서 ModelAndView를 리턴하는데 View에 전달되는 데이터는 어떤 식으로 저장되는지 궁금함.

DispatcherServlet
doService()
doDispatch()
render()
    AbstractView
    render()
    renderMergedOutputModel()
        InternalResourceView //여러 구현체중 하나
        renderMergedOutputModel()
        exposeModelAsRequestAttributes()
            AbstractView
            exposeModelAsRequestAttributes()
                String modelName = (String) entry.getKey();
                Object modelValue = entry.getValue();
                if (modelValue != null) {
                    request.setAttribute(modelName, modelValue); //모델이름으로 request에 저장된다.
                ...
        RequestDispatcher.include() - OR - forward()