public class ChainProcessor extends ChainServlet
Custom subclass of ChainServlet that also dispatches incoming
requests to a configurable Command loaded from the specified
Catalog.
In addition to the servlet init parameters supported by
ChainServlet, this class supports the following additional
parameters:
Command (looked up in our configured Catalog used
to process all incoming servlet requests. If not specified,
defaults to command.Also, the org.apache.commons.chain.CONFIG_ATTR
init parameter is also used to identify the
Context attribute under
which our configured Catalog will be made available to
Commands processing our requests, in addition to its definition
of the ServletContext attribute key under which the
Catalog is available.
| Modifier and Type | Field | Description |
|---|---|---|
private java.lang.String |
attribute |
The name of the context attribute under which our
Catalog
is stored. |
private java.lang.String |
catalog |
The name of the
Catalog to retrieve from the
CatalogFactory for this application, or null
to select the default Catalog. |
static java.lang.String |
CATALOG |
The name of the servlet init parameter containing the name of the
Catalog to use for processing incoming requests. |
static java.lang.String |
CATALOG_DEFAULT |
|
private java.lang.String |
command |
The name of the
Command to be executed for each incoming
request. |
static java.lang.String |
COMMAND |
|
private static java.lang.String |
COMMAND_DEFAULT |
The default command name.
|
CONFIG_ATTR, CONFIG_CLASS_RESOURCE, CONFIG_WEB_RESOURCE, RULE_SET| Constructor | Description |
|---|---|
ChainProcessor() |
| Modifier and Type | Method | Description |
|---|---|---|
void |
destroy() |
Clean up as this application is shut down.
|
void |
init() |
Cache the name of the command we should execute for each request.
|
void |
service(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response) |
Configure a
ServletWebContext for the current request, and
pass it to the execute() method of the specified
Command, loaded from our configured Catalog. |
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, logpublic static final java.lang.String CATALOG
The name of the servlet init parameter containing the name of the
Catalog to use for processing incoming requests.
public static final java.lang.String CATALOG_DEFAULT
public static final java.lang.String COMMAND
The name of the servlet init parameter containing the name of the
Command (loaded from our configured Catalog to use
for processing each incoming request.
private static final java.lang.String COMMAND_DEFAULT
The default command name.
private java.lang.String attribute
The name of the context attribute under which our Catalog
is stored. This value is also used as the name of the
context attribute under which the catalog is exposed to commands.
If not specified, we will look up commands in the appropriate
Catalog retrieved from our CatalogFactory.
private java.lang.String catalog
The name of the Catalog to retrieve from the
CatalogFactory for this application, or null
to select the default Catalog.
private java.lang.String command
The name of the Command to be executed for each incoming
request.
public void destroy()
Clean up as this application is shut down.
destroy in class ChainServletpublic void init()
throws javax.servlet.ServletException
Cache the name of the command we should execute for each request.
init in class ChainServletjavax.servlet.ServletException - if an initialization error occurspublic void service(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException,
javax.servlet.ServletException
Configure a ServletWebContext for the current request, and
pass it to the execute() method of the specified
Command, loaded from our configured Catalog.
service in class ChainServletrequest - The request we are processingresponse - The response we are creatingjava.io.IOException - if an input/output error occursjavax.servlet.ServletException - if a servlet exception occurs