Struts is a component framework developed as an open source project (under the auspices of the Jakarta Apache project) to ease development of scalable web-tier applications. Struts defines an updated Model-View-Controller pattern (called MVC2) for implementing web-based applications. It also defines servlet and JSP components as either views or controllers, with the model implemented as business objects accessible to both view and controller components.
Views are either servlets or JSP pages that provide the HTML-generation end of the process. Controllers are usually servlets and provide the flow control and delegation to the business objects. Many common patterns for generating web-based forms are implemented in Struts as base classes, making construction of complex forms-based applications easy.
When using JDO with Struts, the issues are the same as with
generic servlet and JSP pages. The
PersistenceManagerFactory (or multiple
PersistenceManagerFactory) used with the
application is constructed at server or application startup, and each
component that needs JDO services needs to access the
PersistenceManagerFactory in order to get the
PersistenceManager used in the
Struts 1.1 does not include direct support for JDO, but it
provides a flexible way to configure the controller servlet: by defining
PlugIn classes that are initialized when the web container loads
the Struts servlet. You can exploit this Struts feature by writing a