<< back to Core Developers Guide Edit on GitHub

# Configuration Elements

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.

> See struts.xml for a working example.

## Administrative Elements

- Bean Configuration
- Constant Configuration
- Package Configuration
- Namespace Configuration
- Include Configuration

## Request Handling Elements

- Interceptor Configuration
- Action Configuration
  - Wildcard Mappings
- Result Configuration
- Unknown Handlers

## Error Handling

- Exception Configuration