Class FilterValve
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.util.LifecycleMBeanBase
org.apache.catalina.valves.ValveBase
org.apache.catalina.valves.FilterValve
- All Implemented Interfaces:
- FilterConfig,- MBeanRegistration,- Contained,- JmxEnabled,- Lifecycle,- Valve
A Valve to wrap a Filter, allowing a user to run Servlet Filters as a part of the Valve chain.
There are some caveats you must be aware of when using this Valve to wrap a Filter:
- You get a separate instance of your Filter class distinct from any that may be instantiated within your application.
- Calls to FilterConfig.getFilterName()will returnnull.
- Calling FilterConfig.getServletContext()will return the proper ServletContext for a Valve/Filter attached to a<Context>, but will return a ServletContext which is nearly useless for any Valve/Filter specified on an<Engine>or>Host<.
- Your Filter MUST NOT wrap the ServletRequestorServletResponseobjects, or an exception will be thrown.
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.catalina.LifecycleLifecycle.SingleUse
- 
Field SummaryFields inherited from class org.apache.catalina.valves.ValveBaseasyncSupported, container, containerLog, next, smFields inherited from interface org.apache.catalina.LifecycleAFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddInitParam(String paramName, String paramValue) Adds an initialization parameter for the Filter.Gets the name of the class for the Filter.Get the name of the filter.getInitParameter(String name) Returns aStringcontaining the value of the named initialization parameter, ornullif the parameter does not exist.Returns the names of the filter's initialization parameters as anEnumerationofStringobjects, or an emptyEnumerationif the filter has no initialization parameters.Returns a reference to theServletContextin which the caller is executing.voidPerform request processing as required by this Valve.voidsetFilterClass(String filterClassName) Sets the name of the class for the Filter.voidsetFilterClassName(String filterClassName) Sets the name of the class for the Filter.protected voidStart this component and implement the requirements ofLifecycleBase.startInternal().protected voidStop this component and implement the requirements ofLifecycleBase.stopInternal().Methods inherited from class org.apache.catalina.valves.ValveBasebackgroundProcess, getContainer, getDomainInternal, getNext, getObjectNameKeyProperties, initInternal, isAsyncSupported, setAsyncSupported, setContainer, setNext, toStringMethods inherited from class org.apache.catalina.util.LifecycleMBeanBasedestroyInternal, getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister, unregisterMethods inherited from class org.apache.catalina.util.LifecycleBaseaddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
- 
Constructor Details- 
FilterValvepublic FilterValve()
 
- 
- 
Method Details- 
setFilterClassSets the name of the class for the Filter.- Parameters:
- filterClassName- The class name for the Filter.
 
- 
setFilterClassNameSets the name of the class for the Filter.- Parameters:
- filterClassName- The class name for the Filter.
 
- 
getFilterClassNameGets the name of the class for the Filter.- Returns:
- The class name for the Filter.
 
- 
addInitParam
- 
getFilterNameDescription copied from interface:jakarta.servlet.FilterConfigGet the name of the filter.- Specified by:
- getFilterNamein interface- FilterConfig
- Returns:
- null
 
- 
getServletContextDescription copied from interface:jakarta.servlet.FilterConfigReturns a reference to theServletContextin which the caller is executing.- Specified by:
- getServletContextin interface- FilterConfig
- Returns:
- the ServletContext. Note that this will be of limited use if the Valve/Filter is not attached to a
             <Context>.
- See Also:
 
- 
getInitParameterDescription copied from interface:jakarta.servlet.FilterConfigReturns aStringcontaining the value of the named initialization parameter, ornullif the parameter does not exist.- Specified by:
- getInitParameterin interface- FilterConfig
- Parameters:
- name-- Stringspecifying the name of the initialization parameter
- Returns:
- Stringcontaining the value of the initialization parameter
 
- 
getInitParameterNamesDescription copied from interface:jakarta.servlet.FilterConfigReturns the names of the filter's initialization parameters as anEnumerationofStringobjects, or an emptyEnumerationif the filter has no initialization parameters.- Specified by:
- getInitParameterNamesin interface- FilterConfig
- Returns:
- Enumerationof- Stringobjects containing the names of the filter's initialization parameters
 
- 
startInternalDescription copied from class:ValveBaseStart this component and implement the requirements ofLifecycleBase.startInternal().- Overrides:
- startInternalin class- ValveBase
- Throws:
- LifecycleException- if this component detects a fatal error that prevents this component from being used
 
- 
stopInternalDescription copied from class:ValveBaseStop this component and implement the requirements ofLifecycleBase.stopInternal().- Overrides:
- stopInternalin class- ValveBase
- Throws:
- LifecycleException- if this component detects a fatal error that prevents this component from being used
 
- 
invokeDescription copied from interface:ValvePerform request processing as required by this Valve. An individual Valve MAY perform the following actions, in the specified order: - Examine and/or modify the properties of the specified Request and Response.
- Examine the properties of the specified Request, completely generate the corresponding Response, and return control to the caller.
- Examine the properties of the specified Request and Response, wrap either or both of these objects to supplement their functionality, and pass them on.
- If the corresponding Response was not generated (and control was not returned), call the next Valve in the
 pipeline (if there is one) by executing getNext().invoke().
- Examine, but not modify, the properties of the resulting Response (which was created by a subsequently invoked Valve or Container).
 A Valve MUST NOT do any of the following things: - Change request properties that have already been used to direct the flow of processing control for this request (for instance, trying to change the virtual host to which a Request should be sent from a pipeline attached to a Host or Context in the standard implementation).
- Create a completed Response AND pass this Request and Response on to the next Valve in the pipeline.
- Consume bytes from the input stream associated with the Request, unless it is completely generating the response, or wrapping the request before passing it on.
- Modify the HTTP headers included with the Response after the getNext().invoke()method has returned.
- Perform any actions on the output stream associated with the specified Response after the
 getNext().invoke()method has returned.
 - Specified by:
- invokein interface- Valve
- Parameters:
- request- The servlet request to be processed
- response- The servlet response to be created
- Throws:
- IOException- if an input/output error occurs, or is thrown by a subsequently invoked Valve, Filter, or Servlet
- ServletException- if a servlet error occurs, or is thrown by a subsequently invoked Valve, Filter, or Servlet
 
 
-