Spring MVC framework is a robust Model view controller framework which helps us to develop a loosely coupled web application. It separates different aspects of web applications with the help of MVC architecture.
Model: Model carries application data. It generally includes POJO in the form of business objects.
View: View is used to render User interface (UI). It will render application data on UI. For example JSP
Controller: Controller takes care of processing user request and calling back end services.
This Spring MVC tutorial is made for beginners as well as for experienced programmer.
Spring MVC workflow
Following steps are involved in Spring MVC workflow.
- The request will be received by Front Controller i.e. DispatcherServlet.
- DispatcherServlet will pass this request to HandlerMapping. HandlerMapping will find suitable Controller for the request
- HandlerMapping will send the details of the controller to DispatcherServlet.
- DispatcherServlet will call the Controller identified by HandlerMapping. The Controller will process the request by calling appropriate method and prepare the data. It may call some business logic or directly retrieve data from the database.
- The Controller will send ModelAndView(Model data and view name) to DispatcherServlet.
- Once DispatcherServlet receives ModelAndView object, it will pass it to ViewResolver to find appropriate View.
- ViewResolver will identify the view and send it back to DispatcherServlet.
- DispatcherServlet will call appropriate View identified by ViewResolver.
- The View will create Response in form of HTML and send it to DispatcherServlet.
- DispatcherServlet will send the response to the browser. The browser will render the html code and display it to end user
I hope you will have a good understanding of How Spring MVC handles the request and send the response back.