A web application uses a deployment descriptor to initialize resources like servlets and taglibs. The deployment descriptor is formatted as a XML document and named web.xml.

Likewise, the framework uses a configuration file to initialize its own resources. These resources include:

Interceptors that can preprocess and postprocess a request

Action classes that can call business logic and data access code

Results that can prepare views, like JavaServer Pages and FreeMarker templates

At runtime, there is a single configuration for an application. Prior to runtime, the configuration is defined through one or more XML documents, including the default struts.xml document. There are several elements that can be configured, including packages, namespaces, includes, actions, results, interceptors, and exceptions.