The strut is mainly used for building contemporary Java Enterprise Edition web apps. Struts is an open source framework which helps create well-structured web-based applications. It is based on the Model View Controller paradigm which distinctly separates all the three layers. Model – state of the application View – presentation Controller – controlling the application flow This makes Strut different from the conventional JSP – Java Server Pages applications. Herein sometimes the logic, flow, and UI are mingled in a Java Server Page.
The Struts framework is a complete web framework as it provides complete web form components, validators, error handling, internationalization, tiles and more. The Strut framework provides its own controller component. It integrates with other technologies for both Model and View components. Struts can integrate well with Java Server Pages (JSP), Java Server Faces (JSF), JSTL, Velocity templates, and many other presentation technologies for View. For model, Struts works great with data access technologies like JDBC, Hibernate, EJB, and many more.
When the framework’s controller receives a request, it uses the configuration file, to find out the correct routing information. Then on the basis of the information configured in the configuration file, it internally invokes an Action class. The configuration file is like the blueprint for the request-response flow. The Action class interacts with the Model to access or update the underlying data in the database/file. The framework includes ActionForm classes to transfer data between Model and View.