Skip to main content

Spring MVCFlow

Spring MVC
=========================================
-> If we develop mvc architecture based on web application manually, All the logics of all the layers
     (including common and application specific logic) must be taken care by Programmer.
-> If we develop mvc architecture by using web framework then the common logics will be taken care by the framework
    by giving one built-in servlet as front controller so the programmer just need to develop application specific logics.
-> Spring MVC is a design pattern that provides clean separations of logics between multiple layers.
-> The modification done in one layer logics does not affect other layer logics.
-> It provides Maintenance and Enhancement of programming codes.
-> Thus it gives good productivity.

Request flow is going in Spring MVC like this:
========================================
1. When a request came firstly the request is received by the DispatcherServlet.
2. DispatcherServlet will take the help of HandlerMapping and get to know the Controller
     class name associated with the given request.
3. So request transfer to the Controller and then Controller will process the request by
     executing appropriate methods and returns ModelAndView object (contain Model and
     View name) back to the DispatcherServlet.
4. Now DispatcherServlet send the model object to the ViewResolver to get the actual view page.
5. Finally DispatcherServlet will pass the Model object to the View page to display the result.

Spring MVC web application flow
==========================================
1. Browser gives request to web application.
2. As Frontcontroller DispatcherServlet traps and takes the request and applies the common system services like security, logging, etc...
3. DispatcherServlet uses HandlerMapping component to decide the Handler class to utilize based on the incoming request uri.
4. DispatcherServlet passes the control to Handler class by calling method.
5. Handler class internally writes the received form data to command class object.
6. Handler class process the request and generates the output, if needed it also uses command object.
7. Handler class returns logical view name back to DispatcherServlet.
8. DispatcherServlet uses viewResolver to get view object having view layer technology and resource name;
9. DispatcherServlet uses view object to pass the control to view resource.
10. The view resource format the resources and sends the output to browser.
Thats it...

***Spring Web MVC framework is designed around a DispatcherServlet that dispatches requests to handlers, configurable handler mappings,
       view resolvers etc...
***HandlerMapping is responsible to map incoming request urls to handler class(controller class).
***View Resolver takes the logical view name given by controller class and resolves physical view name by
       adding prefixes, suffixes and returns view interface implementation class object back to dispatcherServlet
       having view name.
***DispatcherServlet calls render() method on the given View implementation class object and this rendor()
      method passes the control to physical view resource.
***Controller or Handler class is mainly useful to render logical viewname and data that is required to display in view layer resource.
       Handler is the controller class that will process the request and performs business logic to display the next view to the user.


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Multi action controller:--

we can perform any thing like update,delete, add to perform simultanecely. 

Comments

Popular posts from this blog

Mockito interview Questions

1.       Question 1. What Is Mockito? Answer : Mockito allows creation of mock object for the purpose of Test Driven Development and Behavior Driven development. Unlike creating actual object, Mockito allows creation of fake object (external dependencies) which allows it to give consistent results to a given invocation. 2.       Question 2. Why Do We Need Mockito? What Are The Advantages? Answer : Mockito differentiates itself from the other testing framework by removing the expectation beforehand. So, by doing this, it reduces the coupling. Most of the testing framework works on the "expect-run-verify". Mockito allows it to make it "run-verify" framework. Mockito also provides annotation which allows to reduce the boilerplate code. 3.       Question 3. Can You Explain A Mockito Framework? Answer : In Mockito, you always check a particular class. The dependency in that class is injected using m...

JAVA Expert Interview Questions Answers 2017

Java Basics ::  Interview Questions and Answers Home  »  Interview Questions  »  Technical Interview  »  Java Basics  » Interview Questions 1.     What is the difference between a constructor and a method? A constructor is a member function of a class that is used to create objects of that class. It has the same name as the class itself, has no return type, and is invoked using the new operator. A method is an ordinary member function of a class. It has its own name, a return type (which may be void), and is invoked using the dot operator. 2.     What is the purpose of garbage collection in Java, and when is it used? The purpose of garbage collection is to identify and discard objects that are no longer needed by a program so that their resources can be reclaimed and reused. A Java object is subject to garbage collection when it becomes unreachable to the program in which it is used. 3.  ...

Java Example Program to Convert List to Set

import java.util.ArrayList; import java.util.HashSet; import java.util.Set; public class ListToSet {  /**   * @author Amarjit Kumar   * @category interview questions   *   * Description: Convert List to set in java with example program   *   */  public static void main(String[] args) {   ArrayList<String> arrList= new ArrayList<>();   arrList.add("Java");   arrList.add("Java");   arrList.add("List to String");   arrList.add("Example Program");   Set<String> strSet = new HashSet<String>(arrList);   System.out.println(strSet);   System.out.println(arrList);  } } /*  * Java program to convert list to set. Convert ArrayList of string to HashSet  * in java example program How to convert List to Set in java Set<String> strSet  * = new HashSet<String>(arrList); HashSet having a constructor which will take  * list as an ar...