Spring MVC architecture is MVC based framework.

MVC architecture is divides the operation or flow into modules, ie., 
Model, 
View 
Controller
       1. Controller Receives the Request.
       2. Received request will be delegated to Model .
       3. Model will perform any business logic ( Service layer or DAO Layer ).
       4. Controller sends the response to View.
       5. View can be either JSP, HTML, Velocity.

In Spring MVC,  DispatcherServlet acts as a FrontController.
When ever the requests comes up
1.  DispatcherServlet will consult the HandlerMapping.
2.
 
HandlerMapping helps to identify appropriate Controller bean .
3.
  Controller receives the request & then delegates the request for Model layer.
4.  Model layer will be responsible for any operation to be performed for the request.

5. Controller will send response to DispatcherServlet
6. DispatcherServlet will identify the desired view (jsp, html .. etc) using ViewResolver based on the configuration.

View Resolver Configuration

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">            
    <property name="prefix"> <value>/WEB-INF/pages/</value> </property>       
     <property name="suffix"> <value>.jsp</value> </property>

 </bean>
FrontController Design Pattern.

The front controller design pattern is used to provide a centralized request handling mechanism so that all requests will be handled by a single handler. This handler can do the authentication/ authorization/ logging or tracking of request and then pass the requests to corresponding handlers. 

ViewResolver Design Pattern

View Resolver pattern is a J2EE pattern that enables a web application to dynamically select its view technology. For example, HTML, JSP, Tapestry, JSF, XSLT etc. 

View resolver holds mapping of different views, controller return name of the view, which is then delegated to the View Resolver for selecting an appropriate view.
Configure multiple view resolvers priority in Spring MVC
<bean class="org.springframework.web.servlet.view.XmlViewResolver">    
 <property name="location">    
    <value>/WEB-INF/spring-views.xml</value>     
 </property>     
 <property name="order" value="0" />
</bean>

<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">            

   <property name="basename" value="spring-views" />    
   <property name="order" value="1" /> 
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">                            
   <property name="prefix"> <value>/WEB-INF/pages/</value>  </property> 
   <property name="suffix"> <value>.jsp</value>  </property> 
   <property name="order" value="2" /> 
</bean>

Now, if a view name is returned, the view resolving strategy works in the following order :

XmlViewResolver --> ResourceBundleViewResolver --> InternalResourceViewResolver

Thanks for Reading post !!