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 Java Server 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. The Model represents the business or database code, the View represents the page design code, and the Controller represents the navigational code. The Struts framework is designed to help developers create web applications that utilize a MVC architecture.
Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It favors convention over configuration, is extensible using a plugin architecture, and ships with plugins to support REST, AJAX and JSON.
The modern web application framework, saying hello to Struts 2, working with Struts 2 actions, Adding workflow with interceptors, Data transfer: OGNL and type conversion, Building a view: tags, UI component tags. Integrating with spring and Hibernate/JPA, Exploring the validation framework, Understanding internationalization, Extending Struts 2 with plug-ins and more.
The modern web application framework
Saying hello to Struts 2
Working with Struts 2 actions
Adding workflow with interceptors
Data transfer: OGNL and type conversion
Building a view: tags
UI component tags
Results in detail
Integrating with spring and Hibernate/JPA
Exploring the validation framework
Extending Struts 2 with plug-ins
Migration from Struts Classic