Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.struts2.dispatcher
Class Dispatcher

    java.lang.Object
      org.apache.struts2.dispatcher.Dispatcher

    public class Dispatcher

extends Object

A utility class the actual dispatcher delegates most of its tasks to. Each instance of the primary dispatcher holds an instance of this dispatcher to be shared for all requests.

See Also:
  `InitOperations`

Nested Class Summary
`static class` | `Dispatcher.Locator` Provide an accessor class for static XWork utility.

Field Summary
`protected Map<String,String>` | `initParams`
`protected javax.servlet.ServletContext` | `servletContext` Keeps current reference to external world and must be protected to support class inheritance

Constructor Summary
`Dispatcher(javax.servlet.ServletContext servletContext, Map<String,String> initParams)` Create the Dispatcher instance for a given ServletContext and set of initialization parameters.

Method Summary
`static void` | `addDispatcherListener(DispatcherListener listener)` Add a dispatcher lifecycle listener.
`void` | `cleanup()` Releases all instances bound to this dispatcher instance.
`void` | `cleanUpAfterInit()` Cleanup any resources used to initialise Dispatcher
`void` | `cleanUpRequest(javax.servlet.http.HttpServletRequest request)` Removes all the files created by MultiPartRequestWrapper.
`protected ConfigurationManager` | `createConfigurationManager(String name)`
`Map<String,Object>` | `createContextMap(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping)` Create a context map containing all the wrapped request objects
`Map<String,Object>` | `createContextMap(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping, javax.servlet.ServletContext context)` Deprecated. use version without servletContext param
`HashMap<String,Object>` | `createContextMap(Map requestMap, Map parameterMap, Map sessionMap, Map applicationMap, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Merge all application and servlet attributes into a single `HashMap` to represent the entire `Action` context.
`HashMap<String,Object>` | `createContextMap(Map requestMap, Map parameterMap, Map sessionMap, Map applicationMap, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext servletContext)` Deprecated. use version without ServletContext param
`protected XmlConfigurationProvider` | `createStrutsXmlConfigurationProvider(String filename, boolean errorIfMissing, javax.servlet.ServletContext ctx)`
`protected XmlConfigurationProvider` | `createXmlConfigurationProvider(String filename, boolean errorIfMissing)`
`ConfigurationManager` | `getConfigurationManager()` Expose the ConfigurationManager instance.
`Container` | `getContainer()` Expose the dependency injection container.
`static Dispatcher` | `getInstance()` Provide the dispatcher instance for the current thread.
`protected MultiPartRequest` | `getMultiPartRequest()` On each request it must return a new instance as implementation could be not thread safe and thus ensure of resource clean up
`void` | `init()` Load configurations, including both XML and zero-configuration strategies, and update optional settings, including whether to reload configurations and resource files.
`boolean` | `isDevMode()`
`boolean` | `isHandleException()`
`protected void` | `logConfigurationException(javax.servlet.http.HttpServletRequest request, ConfigurationException e)` Performs logging of missing action/result configuration exception
`void` | `prepare(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)` Prepare a request, including setting the encoding and locale.
`static void` | `removeDispatcherListener(DispatcherListener listener)` Remove a specific dispatcher lifecycle listener.
`void` | `sendError(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, int code, Exception e)` Send an HTTP error response code.
`void` | `sendError(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext ctx, int code, Exception e)` Deprecated. remove in version 3.0 - use version without ServletContext parameter
`void` | `serviceAction(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping)` Load Action class for mapping and invoke the appropriate Action method, or go directly to the Result.
`void` | `serviceAction(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext context, ActionMapping mapping)` Deprecated. use version without ServletContext param
`void` | `setConfigurationManager(ConfigurationManager mgr)` Deprecated. should be removed as is used only in tests
`void` | `setDefaultEncoding(String val)` Modify state of StrutsConstants.STRUTS_I18N_ENCODING setting.
`void` | `setDefaultLocale(String val)` Modify state of StrutsConstants.STRUTS_LOCALE setting.
`void` | `setDevMode(String mode)` Modify state of StrutsConstants.STRUTS_DEVMODE setting.
`void` | `setDisableRequestAttributeValueStackLookup(String disableRequestAttributeValueStackLookup)` Modify state of StrutsConstants.DISABLE_REQUEST_ATTRIBUTE_VALUE_STACK_LOOKUP setting.
`void` | `setDispatcherErrorHandler(DispatcherErrorHandler errorHandler)`
`void` | `setHandleException(String handleException)`
`static void` | `setInstance(Dispatcher instance)` Store the dispatcher instance for this thread.
`void` | `setMultipartHandler(String val)`
`void` | `setMultipartSaveDir(String val)` Modify state of StrutsConstants.STRUTS_MULTIPART_SAVEDIR setting.
`void` | `setValueStackFactory(ValueStackFactory valueStackFactory)`
`javax.servlet.http.HttpServletRequest` | `wrapRequest(javax.servlet.http.HttpServletRequest request)` Wrap and return the given request or return the original request object.
`javax.servlet.http.HttpServletRequest` | `wrapRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext servletContext)` Deprecated. use version without ServletContext param

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### servletContext

    protected javax.servlet.ServletContext servletContext

  Keeps current reference to external world and must be protected to support class inheritance

### initParams

    protected Map<String,String> initParams

Constructor Detail

### Dispatcher

    public Dispatcher(javax.servlet.ServletContext servletContext,
                      Map<String,String> initParams)

  Create the Dispatcher instance for a given ServletContext and set of initialization parameters.

  Parameters:
    `servletContext` - Our servlet context
    `initParams` - The set of initialization parameters

Method Detail

### getInstance

    public static Dispatcher getInstance()

  Provide the dispatcher instance for the current thread.

  Returns:
    The dispatcher instance

### setInstance

    public static void setInstance(Dispatcher instance)

  Store the dispatcher instance for this thread.

  Parameters:
    `instance` - The instance

### addDispatcherListener

    public static void addDispatcherListener(DispatcherListener listener)

  Add a dispatcher lifecycle listener.

  Parameters:
    `listener` - The listener to add

### removeDispatcherListener

    public static void removeDispatcherListener(DispatcherListener listener)

  Remove a specific dispatcher lifecycle listener.

  Parameters:
    `listener` - The listener

### setDevMode

    public void setDevMode(String mode)

  Modify state of StrutsConstants.STRUTS_DEVMODE setting.

  Parameters:
    `mode` - New setting

### isDevMode

    public boolean isDevMode()

### setDisableRequestAttributeValueStackLookup

    public void setDisableRequestAttributeValueStackLookup(String disableRequestAttributeValueStackLookup)

  Modify state of StrutsConstants.DISABLE_REQUEST_ATTRIBUTE_VALUE_STACK_LOOKUP setting.

  Parameters:
    `disableRequestAttributeValueStackLookup` - New setting

### setDefaultLocale

    public void setDefaultLocale(String val)

  Modify state of StrutsConstants.STRUTS_LOCALE setting.

  Parameters:
    `val` - New setting

### setDefaultEncoding

    public void setDefaultEncoding(String val)

  Modify state of StrutsConstants.STRUTS_I18N_ENCODING setting.

  Parameters:
    `val` - New setting

### setMultipartSaveDir

    public void setMultipartSaveDir(String val)

  Modify state of StrutsConstants.STRUTS_MULTIPART_SAVEDIR setting.

  Parameters:
    `val` - New setting

### setMultipartHandler

    public void setMultipartHandler(String val)

### setValueStackFactory

    public void setValueStackFactory(ValueStackFactory valueStackFactory)

### setHandleException

    public void setHandleException(String handleException)

### isHandleException

    public boolean isHandleException()

### setDispatcherErrorHandler

    public void setDispatcherErrorHandler(DispatcherErrorHandler errorHandler)

### cleanup

    public void cleanup()

  Releases all instances bound to this dispatcher instance.

### createXmlConfigurationProvider

    protected XmlConfigurationProvider createXmlConfigurationProvider(String filename,
                                                                      boolean errorIfMissing)

### createStrutsXmlConfigurationProvider

    protected XmlConfigurationProvider createStrutsXmlConfigurationProvider(String filename,
                                                                            boolean errorIfMissing,
                                                                            javax.servlet.ServletContext ctx)

### init

    public void init()

  Load configurations, including both XML and zero-configuration strategies, and update optional settings, including whether to reload configurations and resource files.

### createConfigurationManager

    protected ConfigurationManager createConfigurationManager(String name)

### serviceAction

    @Deprecated
    public void serviceAction(javax.servlet.http.HttpServletRequest request,
                                         javax.servlet.http.HttpServletResponse response,
                                         javax.servlet.ServletContext context,
                                         ActionMapping mapping)
                       throws javax.servlet.ServletException

  Deprecated. use version without ServletContext param

  Throws:
    `javax.servlet.ServletException`

### serviceAction

    public void serviceAction(javax.servlet.http.HttpServletRequest request,
                              javax.servlet.http.HttpServletResponse response,
                              ActionMapping mapping)
                       throws javax.servlet.ServletException

  Load Action class for mapping and invoke the appropriate Action method, or go directly to the Result.

  This method first creates the action context from the given parameters, and then loads an `ActionProxy` from the given action name and namespace. After that, the Action method is executed and output channels through the response object. Actions not found are sent back to the user via the `sendError(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.ServletContext, int, java.lang.Exception)` method, using the 404 return code. All other errors are reported by throwing a ServletException.

  Parameters:
    `request` - the HttpServletRequest object
    `response` - the HttpServletResponse object
    `mapping` - the action mapping object
  Throws:
    `javax.servlet.ServletException` - when an unknown error occurs (not a 404, but typically something that would end up as a 5xx by the servlet container)
  Since:
    2.3.17

### logConfigurationException

    protected void logConfigurationException(javax.servlet.http.HttpServletRequest request,
                                             ConfigurationException e)

  Performs logging of missing action/result configuration exception

  Parameters:
    `request` - current `HttpServletRequest`
    `e` - `ConfigurationException` that occurred

### createContextMap

    @Deprecated
    public Map<String,Object> createContextMap(javax.servlet.http.HttpServletRequest request,
                                                          javax.servlet.http.HttpServletResponse response,
                                                          ActionMapping mapping,
                                                          javax.servlet.ServletContext context)

  Deprecated. use version without servletContext param

### createContextMap

    public Map<String,Object> createContextMap(javax.servlet.http.HttpServletRequest request,
                                               javax.servlet.http.HttpServletResponse response,
                                               ActionMapping mapping)

  Create a context map containing all the wrapped request objects

  Parameters:
    `request` - The servlet request
    `response` - The servlet response
    `mapping` - The action mapping
  Returns:
    A map of context objects
  Since:
    2.3.17

### createContextMap

    @Deprecated
    public HashMap<String,Object> createContextMap(Map requestMap,
                                                              Map parameterMap,
                                                              Map sessionMap,
                                                              Map applicationMap,
                                                              javax.servlet.http.HttpServletRequest request,
                                                              javax.servlet.http.HttpServletResponse response,
                                                              javax.servlet.ServletContext servletContext)

  Deprecated. use version without ServletContext param

### createContextMap

    public HashMap<String,Object> createContextMap(Map requestMap,
                                                   Map parameterMap,
                                                   Map sessionMap,
                                                   Map applicationMap,
                                                   javax.servlet.http.HttpServletRequest request,
                                                   javax.servlet.http.HttpServletResponse response)

  Merge all application and servlet attributes into a single `HashMap` to represent the entire `Action` context.

  Parameters:
    `requestMap` - a Map of all request attributes.
    `parameterMap` - a Map of all request parameters.
    `sessionMap` - a Map of all session attributes.
    `applicationMap` - a Map of all servlet context attributes.
    `request` - the HttpServletRequest object.
    `response` - the HttpServletResponse object.
  Returns:
    a HashMap representing the `Action` context.
  Since:
    2.3.17

### prepare

    public void prepare(javax.servlet.http.HttpServletRequest request,
                        javax.servlet.http.HttpServletResponse response)

  Prepare a request, including setting the encoding and locale.

  Parameters:
    `request` - The request
    `response` - The response

### wrapRequest

    @Deprecated
    public javax.servlet.http.HttpServletRequest wrapRequest(javax.servlet.http.HttpServletRequest request,
                                                                        javax.servlet.ServletContext servletContext)
                                                      throws IOException

  Deprecated. use version without ServletContext param

  Throws:
    `IOException`

### wrapRequest

    public javax.servlet.http.HttpServletRequest wrapRequest(javax.servlet.http.HttpServletRequest request)
                                                      throws IOException

  Wrap and return the given request or return the original request object. This method transparently handles multipart data as a wrapped class around the given request. Override this method to handle multipart requests in a special way or to handle other types of requests. Note, `MultiPartRequestWrapper` is flexible - look first to that object before overriding this method to handle multipart data.

  Parameters:
    `request` - the HttpServletRequest object.
  Returns:
    a wrapped request or original request.
  Throws:
    `IOException` - on any error.
  Since:
    2.3.17
  See Also:
    `MultiPartRequestWrapper`

### getMultiPartRequest

    protected MultiPartRequest getMultiPartRequest()

  On each request it must return a new instance as implementation could be not thread safe and thus ensure of resource clean up

  Returns:

### cleanUpRequest

    public void cleanUpRequest(javax.servlet.http.HttpServletRequest request)

  Removes all the files created by MultiPartRequestWrapper.

  Parameters:
    `request` - the HttpServletRequest object.
  See Also:
    `MultiPartRequestWrapper`

### sendError

    @Deprecated
    public void sendError(javax.servlet.http.HttpServletRequest request,
                                     javax.servlet.http.HttpServletResponse response,
                                     javax.servlet.ServletContext ctx,
                                     int code,
                                     Exception e)

  Deprecated. remove in version 3.0 - use version without ServletContext parameter

  Send an HTTP error response code.

  Parameters:
    `request` - the HttpServletRequest object.
    `response` - the HttpServletResponse object.
    `code` - the HttpServletResponse error code (see `HttpServletResponse` for possible error codes).
    `e` - the Exception that is reported.
    `ctx` - the ServletContext object.

### sendError

    public void sendError(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response,
                          int code,
                          Exception e)

  Send an HTTP error response code.

  Parameters:
    `request` - the HttpServletRequest object.
    `response` - the HttpServletResponse object.
    `code` - the HttpServletResponse error code (see `HttpServletResponse` for possible error codes).
    `e` - the Exception that is reported.
  Since:
    2.3.17

### cleanUpAfterInit

    public void cleanUpAfterInit()

  Cleanup any resources used to initialise Dispatcher

### getConfigurationManager

    public ConfigurationManager getConfigurationManager()

  Expose the ConfigurationManager instance.

  Returns:
    The instance

### setConfigurationManager

    public void setConfigurationManager(ConfigurationManager mgr)

  Deprecated. should be removed as is used only in tests

  Modify the ConfigurationManager instance

  Parameters:
    `mgr` - The configuration manager

### getContainer

    public Container getContainer()

  Expose the dependency injection container.

  Returns:
    Our dependency injection container

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000–2018 Apache Software Foundation. All rights reserved.