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
Command
s 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, log
public 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 ChainServlet
public void init() throws javax.servlet.ServletException
Cache the name of the command we should execute for each request.
init
in class ChainServlet
javax.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 ChainServlet
request
- 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