an open-source web application framework
Apache Struts 2 functions as a web application framework for the development of Java EE apps. By using the Java Servlet API, Struts makes it easy to developers to use model-view-controller architectures and maintain separation of concerns so that enhancement of application later stages is clean and rapid. There's also the WebWork framework, a spin-off of Struts that provides refinement and enhancement within the essential architecture of Struts' original model. On top of all that, it's also open-source.