ModelAndView에 viewname을 설정하지 않으니 DispatcherServlet에서 default viewname을 설정해 주었는데 viewname에 해당하는 view가 존재하지 않았기 때문이다.@Controller + View 반환Controller에서 View 이름을 반환해주면 DispatcherServlet에서 View Resolver를 통해 View 이름에 해당하는 View를 찾아 반환해주게 된다.@Controller + Data 반환@Controller를 사용하는 경우는 View 반환에 초점이 맞추어져 있다.View가 아닌 Data(ex. Json)를 받아야 하는 경우가 있다.@ResponseBody를 이용하여 VIewResolver가 아닌 HttpMessageConverter가 동작하도록 해야 한다.@RestController + Data 반환@RestController는 @Controller + @ResponeBody이다.DispatcherServlet 으로 들어온다DispatcherServlet.doDispatch() 호출HandlerAdpater(RequestMappingHandlerAdapter)에게 요청을 처리하도록 handle() 메서드 호출





컨트롤러 메서드 실행 후 …









