Package org.apache.struts2.dispatcher
package org.apache.struts2.dispatcher
This package contains a reimagining of the traditional Struts filter dispatchers. Each specific deployment has
their own filters to prevent confusion. In addition, the operations have been explicitly pulled into *Operations
objects that try to document through method naming what is happening at every step. Here are a few common use
cases and how you would manage the Struts deployment:
Simple Dispatcher
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Deployment with Sitemesh
<filter>
<filter-name>struts2-prepare</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter>
<filter-name>struts2-execute</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2-prepare</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>struts2-execute</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-
ClassDescriptionA simple implementation of the
Mapinterface to handle a collection of attributes and init parameters in aServletContextobject.A Map that holds 4 levels of scope.ClearsComponent's static standard attributes cache to prevent classloader leaks on hot redeploy.Extension ofInternalDestroyablefor components that requireServletContextduring cleanup (e.g. clearing servlet-scoped caches).ClearsDebugUtils's static logged-keys cache to prevent memory leaks during hot redeployment.A simple action support class that sets properties to be able to serveDefault implementation ofDispatcherErrorHandlerwhich sends Error Report in devMode orHttpServletResponse.sendError(int, java.lang.String)otherwise.Default implementation to server static contentA utility class the actual dispatcher delegates most of its tasks to.Provide an accessor class for static XWork utility.Implementation of this interface is used to handle internal errors or missing resources.A interface to tag those that want to execute code on the init and destory of a Dispatcher.Contains execution operations for filtersAdapter that exposesFinalizableReferenceQueue.stopAndClear()as anInternalDestroyablebean.WW-5537: Clears FreeMarker's template and class introspection caches stored inServletContextduring application undeploy, preventing classloader leaks.Abstraction for host configuration information such as init params or the servlet context.Contains initialization operationsInternal framework interface for components that hold static state (caches, daemon threads, etc.) requiring cleanup during application undeploy to prevent classloader leaks.Clears OGNL runtime caches and JDK introspection caches that holdClass<?>references, preventing classloader leaks on hot redeploy.Contains preparation operations for a request before executionA simple implementation of theMapinterface to handle a collection of request attributes.ClearsScopeInterceptor's static locks map to prevent classloader leaks on hot redeploy.A simple implementation of theMapinterface to handle a collection of HTTP session attributes.Interface for loading static resources, based on a path.All Struts requests are wrapped with this class, which provides simple JSTL accessibility.