Introduction to Struts
Apache Struts is a free open-source framework for creating Java web applications.
Web applications differ from conventional websites in that web applications can create a dynamic response. Many websites deliver only static pages. A web application can interact with databases and business logic engines to customize a response.
Web applications based on JavaServer Pages sometimes commingle database code, page design code, and control flow code. In practice, we find that unless these concerns are separated, larger applications become difficult to maintain.
One way to separate concerns in a software application is to use a Model-View-Controller (MVC) architecture.
Basic idea behinds MVC architecture is to separate your business logic and presentation part separate.so if design changes it does not affect business logic.
The Struts framework is designed to help developers create web applications that utilize a MVC architecture.
The framework provides three key components:
- A “request” handler provided by the application developer that is mapped to a standard URI.
- A “response” handler that transfers control to another resource which completes the response.
- A tag library that helps developers create interactive form-based applications with server pages.
The framework’s architecture and tags are buzzword compliant. Struts works well with conventional REST applications and with technologies like SOAP and AJAX.
This framework enables design and implementation of large web applications to be handled by different groups of people. In other words, page designers, component developers and other developers can handle their own bit of the project, all in tandem and in a decoupled manner. It features I18N(internationalization), a powerful custom tag library, tiled displays and form validation. It also supports a variety of presentation layers, including JSP, XMl/XSLT,Java Server Faces (JSF), as well as a variety of model layers, includingJava Beans and EJB.