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 java.lang.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:
  `FilterDispatcher`

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

Constructor Summary
`Dispatcher(javax.servlet.ServletContext servletContext, java.util.Map<java.lang.String,java.lang.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` | `cleanUpRequest(javax.servlet.http.HttpServletRequest request)` Removes all the files created by MultiPartRequestWrapper.
`protected ConfigurationManager` | `createConfigurationManager(java.lang.String name)`
`java.util.Map<java.lang.String,java.lang.Object>` | `createContextMap(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, ActionMapping mapping, javax.servlet.ServletContext context)` Create a context map containing all the wrapped request objects
`java.util.HashMap<java.lang.String,java.lang.Object>` | `createContextMap(java.util.Map requestMap, java.util.Map parameterMap, java.util.Map sessionMap, java.util.Map applicationMap, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext servletContext)` Merge all application and servlet attributes into a single `HashMap` to represent the entire `Action` context.
`protected XmlConfigurationProvider` | `createStrutsXmlConfigurationProvider(java.lang.String filename, boolean errorIfMissing, javax.servlet.ServletContext ctx)`
`protected XmlConfigurationProvider` | `createXmlConfigurationProvider(java.lang.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.
`void` | `init()` Load configurations, including both XML and zero-configuration strategies, and update optional settings, including whether to reload configurations and resource files.
`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, javax.servlet.ServletContext ctx, int code, java.lang.Exception e)` Send an HTTP error response code.
`void` | `serviceAction(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletContext context, ActionMapping mapping)` Load Action class for mapping and invoke the appropriate Action method, or go directly to the Result.
`void` | `setConfigurationManager(ConfigurationManager mgr)` Modify the ConfigurationManager instance
`void` | `setDefaultEncoding(java.lang.String val)` Modify state of StrutsConstants.STRUTS_I18N_ENCODING setting.
`void` | `setDefaultLocale(java.lang.String val)` Modify state of StrutsConstants.STRUTS_LOCALE setting.
`void` | `setDevMode(java.lang.String mode)` Modify state of StrutsConstants.STRUTS_DEVMODE setting.
`static void` | `setInstance(Dispatcher instance)` Store the dispatcher instance for this thread.
`void` | `setMultipartHandler(java.lang.String val)`
`void` | `setMultipartSaveDir(java.lang.String val)` Modify state of StrutsConstants.STRUTS_MULTIPART_SAVEDIR setting.
`void` | `setValueStackFactory(ValueStackFactory valueStackFactory)`
`javax.servlet.http.HttpServletRequest` | `wrapRequest(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext servletContext)` Wrap and return the given request or return the original request object.

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

Constructor Detail

### Dispatcher

    public Dispatcher(javax.servlet.ServletContext servletContext,
                      java.util.Map<java.lang.String,java.lang.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(java.lang.String mode)

  Modify state of StrutsConstants.STRUTS_DEVMODE setting.

  Parameters:
    `mode` - New setting

### setDefaultLocale

    public void setDefaultLocale(java.lang.String val)

  Modify state of StrutsConstants.STRUTS_LOCALE setting.

  Parameters:
    `val` - New setting

### setDefaultEncoding

    public void setDefaultEncoding(java.lang.String val)

  Modify state of StrutsConstants.STRUTS_I18N_ENCODING setting.

  Parameters:
    `val` - New setting

### setMultipartSaveDir

    public void setMultipartSaveDir(java.lang.String val)

  Modify state of StrutsConstants.STRUTS_MULTIPART_SAVEDIR setting.

  Parameters:
    `val` - New setting

### setMultipartHandler

    public void setMultipartHandler(java.lang.String val)

### setValueStackFactory

    public void setValueStackFactory(ValueStackFactory valueStackFactory)

### cleanup

    public void cleanup()

  Releases all instances bound to this dispatcher instance.

### createXmlConfigurationProvider

    protected XmlConfigurationProvider createXmlConfigurationProvider(java.lang.String filename,
                                                                      boolean errorIfMissing)

### createStrutsXmlConfigurationProvider

    protected XmlConfigurationProvider createStrutsXmlConfigurationProvider(java.lang.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(java.lang.String name)

### serviceAction

    public void serviceAction(javax.servlet.http.HttpServletRequest request,
                              javax.servlet.http.HttpServletResponse response,
                              javax.servlet.ServletContext context,
                              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
    `context` - Our ServletContext 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)

### createContextMap

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

  Create a context map containing all the wrapped request objects

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

### createContextMap

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

  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.
    `servletContext` - the ServletContextmapping object.
  Returns:
    a HashMap representing the `Action` context.

### 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

    public javax.servlet.http.HttpServletRequest wrapRequest(javax.servlet.http.HttpServletRequest request,
                                                             javax.servlet.ServletContext servletContext)
                                                      throws java.io.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.
    `servletContext` - Our ServletContext object
  Returns:
    a wrapped request or original request.
  Throws:
    `java.io.IOException` - on any error.
  See Also:
    `MultiPartRequestWrapper`

### cleanUpRequest

    public void cleanUpRequest(javax.servlet.http.HttpServletRequest request)
                        throws java.io.IOException

  Removes all the files created by MultiPartRequestWrapper.

  Parameters:
    `request` - the HttpServletRequest object.
  Throws:
    `java.io.IOException` - on any error.
  See Also:
    `MultiPartRequestWrapper`

### sendError

    public void sendError(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response,
                          javax.servlet.ServletContext ctx,
                          int code,
                          java.lang.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.
    `ctx` - the ServletContext object.

### getConfigurationManager

    public ConfigurationManager getConfigurationManager()

  Expose the ConfigurationManager instance.

  Returns:
    The instance

### setConfigurationManager

    public void setConfigurationManager(ConfigurationManager mgr)

  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-2011 Apache Software Foundation. All Rights Reserved.