Spring MVC helps in building flexible and loosely coupled web applications. The Model-view-controller design pattern helps in seperating the business logic, presentation logic and navigation logic. Models are responsible for encapsulating the application data. The Views render response to the user with the help of the model object . Controllers are responsible for receiving the request from the user and calling the back-end services.
When a request is sent to the Spring MVC Framework the following sequence of events happen.
- The DispatcherServlet first receives the request.
- The DispatcherServlet consults the HandlerMapping and invokes the Controller associated with the request.
- The Controller process the request by calling the appropriate service methods and returns aModeAndView object to the DispatcherServlet. The ModeAndView object contains the model data and the view name.
- The DispatcherServlet sends the view name to a ViewResolver to find the actual View to invoke.
- Now the DispatcherServlet will pass the model object to the View to render the result.
- The View with the help of the model data will render the result back to the user.