So far, we have looked at lots of concepts such as the Dispatcher servlet, request mapping, controllers, and the view resolver, but it would be good to see the overall picture of the Spring MVC request flow so that we can understand each component's responsibilities. But before that, you need a basic understanding of the Model View Controller (MVC) concept. Every enterprise level application's Presentation layer can be logically divided into three major parts:
The part that manages the data (Model)
The part that creates the user interface and screens (View)
The part that handles interactions between the user, the user interface, and the data (Controller)
The following diagram should help you to understand the event flow and command flow within an MVC pattern.
The classic MVC pattern
Whenever a user interacts with the view by clicking on a link or button, or something similar, the view issues an event notification to the controller and the controller issues a command notification...