Package jakarta.servlet.annotation

# Annotation Type WebFilter

@Target(TYPE) @Retention(RUNTIME) @Documented public @interface WebFilter
The annotation used to declare a Servlet `Filter`.
This annotation will be processed by the container during deployment, the Filter class in which it is found will be created as per the configuration and applied to the URL patterns, `Servlet`s and `DispatcherType`s.
If the name attribute is not defined, the fully qualified name of the class is used.
At least one URL pattern MUST be declared in either the `value` or `urlPattern` attribute of the annotation, but not both.
The `value` attribute is recommended for use when the URL pattern is the only attribute being set, otherwise the `urlPattern` attribute should be used.
The annotated class MUST implement `Filter`. E.g. `@WebFilter("/path/*")`
`public class AnExampleFilter implements Filter { ...`

Since:
  Servlet 3.0 (Section 8.1.2)

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `boolean`
  `asyncSupported`
  `String`
  `description`
  `DispatcherType[]`
  `dispatcherTypes`
  `String`
  `displayName`
  `String`
  `filterName`
  `WebInitParam[]`
  `initParams`
  `String`
  `largeIcon`
  `String[]`
  `servletNames`
  `String`
  `smallIcon`
  `String[]`
  `urlPatterns`
  `String[]`
  `value`
  A convenience method, to allow extremely simple annotation of a class.

- ## Element Details

  - ### description

    String description
    Returns:
      description of the Filter, if present
    Default:
      ""

  - ### displayName

    String displayName
    Returns:
      display name of the Filter, if present
    Default:
      ""

  - ### initParams

    WebInitParam[] initParams
    Returns:
      array of initialization params for this Filter
    Default:
      {}

  - ### filterName

    String filterName
    Returns:
      name of the Filter, if present
    Default:
      ""

  - ### smallIcon

    String smallIcon
    Returns:
      small icon for this Filter, if present
    Default:
      ""

  - ### largeIcon

    String largeIcon
    Returns:
      the large icon for this Filter, if present
    Default:
      ""

  - ### servletNames

    String[] servletNames
    Returns:
      array of Servlet names to which this Filter applies
    Default:
      {}

  - ### value

    String[] value
    A convenience method, to allow extremely simple annotation of a class.
    Returns:
      array of URL patterns
    See Also:
      - `urlPatterns()`
    Default:
      {}

  - ### urlPatterns

    String[] urlPatterns
    Returns:
      array of URL patterns to which this Filter applies
    Default:
      {}

  - ### dispatcherTypes

    DispatcherType[] dispatcherTypes
    Returns:
      array of DispatcherTypes to which this filter applies
    Default:
      {REQUEST}

  - ### asyncSupported

    boolean asyncSupported
    Returns:
      asynchronous operation supported by this Filter
    Default:
      false