Skip to main content

Overview on Struts2.





Struts2 is a popular and mature web application framework based on MVC design pattern. Struts2 is not just a new version of Struts1 but it is a complete re-write of Struts architecture.

The webwork framework initially started with Struts framework as the basis and it's goal was to offer an enhance and improved framework built on Struts to make the web development easier for the developers.

Architecture of Struts2 Framework.


FilterDispatcher routes all the requests of the framework by acting as the "front controller". With the use of the configured interceptors the request will be processed( pre-processing) before it is routed to the Action class.

Action will take control of the request and plays the role of the "model" component..Once all the interceptors are invoked  Action class takes the responsibility to execute the business logic and returns the result that is needed to be invoked.(Action class will communicate with different classes and decides the result type that is needed to be forwarded) 

According to the result of the Action class the framework will decide which page should be rendered. This result set uses the OGNL to access the ValueStack. Once the page is completed building with values it will be sent back to the client.

View  component can be implemented with Ajax,Free Marker etc..  Finally the response will be sent to through the interceptors for the post-processing of the result.

Advantages of Struts2 Framework.


  • An advanced framework with lot of features.
  • Based on MVC Architecture.
  • Simple configuration.
  • Interceptors to reduce the cross cutting functionality- Will provide pre-processing and post-processing of the reqests and the responses
  • OGNL(Object Graph Navigational Language) - It is more powerful than JSP and is used to render the resulted value in the view layer.
  • Pluggable with different result types like Ajax, JSP,   Free Marker,Velocity etc..

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...