Class ChainServlet
- All Implemented Interfaces:
Serializable
,Servlet
,ServletConfig
Servlet
that automatically scans chain configuration files
in the current web application at startup time, and exposes the result in a
Catalog
under a specified servlet context attribute. The following
servlet init parameters are utilized:
- org.apache.commons.chain.CONFIG_CLASS_RESOURCE -
comma-delimited list of chain configuration resources to be loaded
via
ClassLoader.getResource()
calls. If not specified, no class loader resources will be loaded. - org.apache.commons.chain.CONFIG_WEB_RESOURCE - comma-delimited list of chain configuration webapp resources to be loaded. If not specified, no web application resources will be loaded.
- org.apache.commons.chain.CONFIG_ATTR -
Name of the servlet context attribute under which the
resulting
Catalog
will be created or updated. If not specified, it is expected that parsed resources will contain<catalog>
elements (which will cause registration of the createdCatalog
s into theCatalogFactory
for this application, and no servet context attribute will be created. NOTE - This parameter is deprecated. - org.apache.commons.chain.RULE_SET -
Fully qualified class name of a Digester
RuleSet
implementation to use for parsing configuration resources (this class must have a public zero-args constructor). If not defined, the standardRuleSet
implementation will be used.
When a web application that has configured this servlet is
started, it will acquire the Catalog
under the specified servlet
context attribute key, creating a new one if there is none already there.
This Catalog
will then be populated by scanning configuration
resources from the following sources (loaded in this order):
- Resources loaded from specified resource paths from the
webapp's class loader (via
ClassLoader.getResource()
). - Resources loaded from specified resource paths in the web application
archive (via
ServetContext.getResource()
).
If no attribute key is specified, on the other hand, parsed configuration
resources are expected to contain <catalog>
elements,
and the catalogs will be registered with the CatalogFactory
for this web application.
This class runs on Servlet 2.2 or later. If you are running on a
Servlet 2.3 or later system, you should also consider using
ChainListener
to initialize your Catalog
. Note that
ChainListener
uses parameters of the same names, but they are
context init parameters instead of servlet init
parameters. Because of this, you can use both facilities in the
same application, if desired.
- Author:
- Matthew J. Sgarlata, Craig R. McClanahan, Ted Husted
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The name of the context init parameter containing the name of the servlet context attribute under which our resultingCatalog
will be stored.static final String
The name of the context init parameter containing a comma-delimited list of class loader resources to be scanned.static final String
The name of the context init parameter containing a comma-delimited list of web application resources to be scanned.static final String
The name of the context init parameter containing the fully qualified class name of theRuleSet
implementation for configuring ourConfigParser
. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
destroy()
Clean up after ourselves as this application shuts down.void
init()
Create (if necessary) and configure aCatalog
from the servlet init parameters that have been specified.void
service
(HttpServletRequest request, HttpServletResponse response) Does nothing; this servlet's only purpose is to initialize a Chain and store it in the servlet context.Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
Methods inherited from class javax.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
Field Details
-
CONFIG_ATTR
The name of the context init parameter containing the name of the servlet context attribute under which our resultingCatalog
will be stored.- See Also:
-
CONFIG_CLASS_RESOURCE
The name of the context init parameter containing a comma-delimited list of class loader resources to be scanned.- See Also:
-
CONFIG_WEB_RESOURCE
The name of the context init parameter containing a comma-delimited list of web application resources to be scanned.- See Also:
-
RULE_SET
The name of the context init parameter containing the fully qualified class name of theRuleSet
implementation for configuring ourConfigParser
.- See Also:
-
-
Constructor Details
-
ChainServlet
public ChainServlet()The Default-Constructor for this class.
-
-
Method Details
-
destroy
Clean up after ourselves as this application shuts down.- Specified by:
destroy
in interfaceServlet
- Overrides:
destroy
in classGenericServlet
-
init
Create (if necessary) and configure aCatalog
from the servlet init parameters that have been specified.- Overrides:
init
in classGenericServlet
- Throws:
ServletException
- if the servlet could not be initialized
-
service
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException Does nothing; this servlet's only purpose is to initialize a Chain and store it in the servlet context.- Overrides:
service
in classHttpServlet
- Parameters:
request
- the request issued by the clientresponse
- the response to be returned to the cliengt- Throws:
ServletException
- this exception is never thrownIOException
- this exception is never thrown
-