Skip to main content

Spring MVC Overview



Spring MVC is a java framework that is used to build web applications. It uses  Model-View-Control design pattern and implements basic features of core spring framework such as Inversion of Control, Dependency Injection

How Spring MVC works.




When the client sends a request the request is captured by the Dispatcher Servlet which act as the front Controller of the system. With the help of helpers( Handler Mappings, Controller, View Resolver, View) front controller will responds the client with HTML and data.

When the Dispatcher Servlet gets the request from the client, the request is immediately sent to Handler Mappings. Handler Mapping will scan the URL and will respond to the Dispatcher Servlet with address of the class that can generate data for the web page which the end user has requested. 

With the respond of the Handler Mapping Dispatcher Servlet will forward the request to the Controller, so that the data will be prepared and creates a java object to hold the data. It might contain some business logic to generate data or might get data from the database straightly or might use some other java classes to generate data. The created java object and HTML file name will be sent back to the Dispatcher Servlet as the response.

With the respond of the Controller Dispatcher Servlet will access the HTML file using View Resolver. View Resolver will retrieve the java object from the Dispatcher Servlet and embed it with the HTML code with the desired fashion and will return it to the Dispatcher Servlet.

Finally Dispatcher Servlet will send the response of the View Resolver to the client browser and will display. It is called as the View component. View component is typically a JSP page.

Java object that holds the data is know as the model component.

Controller component will be sending the object with the name of the HTML file.

Advantages of Spring MVC Over Struts2. 


  • Clear separation between controllers, Java Bean models and views that is not possible in Struts.
  • Spring MVC is more flexible as compared to struts.
  • Spring can be used with different platforms like Velocity, XLST or various other view technologies.
  • There is nothing like ActionForm in Spring, but binds directly to the domain objects.












Comments

Popular posts from this blog

Basic concepts on ReactJS

Props and State. Props and state are the two basic ways to handle data in ReactJS.  Props are used to pass data and behaviors from container components to child components. Props are read only. State is used to keep data which can be updated. State is read write enabled. State. State is basically available through  'this.state', which is by default is null. Whenever the state changes on a component the component will  automatically re-render and update DOM (Document Object Model) if there are any changes else the DOM will not get touched at all. Using state. To change the state setState() method can be used. Since setTimeOut() method is used in the bellow example after a second (1000ms)  'Will'   will be changed to  'Bob'.   Changing the state using  'setState()' If the component has an internal value that does not effect the application state is appropriate. A side from that props can be used. Props. Pro...

What is ExpressJS

Express is a very popular framework that is used in NodeJs. Express is build upon NodeJs and also it provides a lot of tools that makes node more easy to use by adding more functionalities. Most of the needed functionalities are handled by express which helps the users to only focus on the business logic and to easily setup routes and to render the things on screen in a fast, optimized and a secured manner. How to install ExpressJS? Express can be easily installed by the command  " npm i express"  . Installation of ExpressJs package.json file will be updated once the installation is successful. How to import ExpressJS? To import the installed express module we can use the command  " require("express") " . Accessing the imported express module. express can be accessed as given below using the given commands. Firstly a constant called app is created. And then using this give constant app ...

Introduction to ReactJS

React is an open source front-end (JavaScript) library developed  and maintained by Facebook and Instagram for building fast and interactive user interfaces. Why ReactJS? In 2009 Facebook was using traditional data flow as the back-end. Therefore to get new updates the entire page had to be reloaded. In terms of initial data, real-time data and user data was flowing from different sources. Then the data was accordingly passed to the dispatcher, store and ultimately view. If there was any changes in the back-end in order  to reflect the changes on the view the entire  page had to be refreshed. This was not user-friendly. Drawbacks of traditional data flow. Uses DOM (Document Object Model). More memory consumption. Slow performance. With use of React the entire application is divided in to various components. When new data is added it will automatically update that component whose state has actually changed without reloading the entire pa...