A kick-ass MVC framework from the Apache Jakarta guys. Created by Craig McClanahan and donated to the Apache Software Foundation in May 2000, Struts is composed of 4 main tag libraries, namely:

Aside the taglibs, there's also the Action classes, representing the Controller stuff, and its friends ActionMapping, ActionForward and ActionErrors. Actions and JSP bindings to each other can be configured through a simple XML file.

From their website: "Struts encourages application architectures based on the Model 2 approach, a variation of the classic Model-View-Controller (MVC) design paradigm. Struts provides its own Controller component and integrates with other technologies to provide the Model and the View. For the Model, Struts can interact with any standard data access technology, including Enterprise Java Beans, JDBC, and JNDI. For the View, Struts works well with JavaServer Pages, Velocity Templates, XSLT, and other presentation systems."

Struts' website is http://jakarta.apache.org/struts.