Filters
Resin 3.1

Documentation
Examples
Changes

Overview
Installation
Configuration
Quercus
SOA/IoC
JSP
Servlets and Filters
Admin (JMX)
EJB
Amber
Security
Performance
Hessian
XML and XSLT
Third-party
Troubleshooting/FAQ

Servlets
Servlet Lib
WebDAV
run-at
Filters
Filter Lib
FAQ
run-at
Servlets and Filters
Filter Lib

Filter Configuration

Filter configuration follows the Servlet 2.3 deployment descriptors. Creating and using a filter has three steps:

  1. Create a filter class which extends javax.servlet.Filter
  2. Use <filter> in the web.xml to configure the filter.
  3. Use <filter-mapping> to select URLs and servlets for the filter.

Some other pages which discuss filters include:

filter

Defines a filter alias for later mapping.

TagMeaning
filter-nameThe filter's name (alias)
filter-classThe filter's class (defaults to servlet-name)
init-paramInitialization parameters

The following example defines a filter alias 'image'

<web-app id='/'>

<filter-mapping url-pattern='/images/*'
                 filter-name='image'/>

<filter filter-name='image'
         filter-class='test.MyImage'>
  <init-param title='Hello, World'/>
</filter>

</web-app>

filter-name

Alias of the filter.

filter-class

Class of the filter. The CLASSPATH for filters includes the WEB-INF/classes directory and all jars in the WEB-INF/lib directory.

init-param

Initializes filter variables. filter-param defines initial values for getFilterConfig().getInitParameter("foo").

The full Servlet 2.3 syntax for init-param is supported and allows a simple shortcut

<web-app id='/'>

<filter filter-name='test.HelloWorld'>
  <init-param foo='bar'/>

  <init-param>
    <param-name>baz</param-name>
    <param-value>value</param-value>
  </init-param>
</filter>

</web-app>

filter-mapping

Maps url patterns to filters. filter-mapping has two children, url-pattern and filter-name. url-pattern selects the urls which should execute the filter.

filter-name can either specify a servlet class directly or it can specify a servlet alias defined by filter.

ConfigurationDescription
url-patternA pattern matching the url: /foo/*, /foo, or *.foo
url-regexpA regular expression matching the url
servlet-nameA servlet name to match.
filter-nameThe filter name
filter-classThe filter class
init-paramInitialization parameters
<caucho.com>
<web-app id='/'>

<servlet servlet-name='hello'
         servlet-class='test.HelloWorld'/>

<servlet-mapping url-pattern='/hello'
                 servlet-name='hello'/>

<filter filter-name='test-filter'
        filter-class='test.MyFilter'/>

<filter-mapping url-pattern='/hello/*'
                 filter-name='test-filter'/>

<filter-mapping servlet-name='hello'
                 filter-name='test.SecondFilter'/>

</web-app>

run-at
Servlets and Filters
Filter Lib
Copyright © 1998-2006 Caucho Technology, Inc. All rights reserved.
Resin ® is a registered trademark, and Quercustm, Ambertm, and Hessiantm are trademarks of Caucho Technology.