# Annotation Type WebServlet

@Target(TYPE) @Retention(RUNTIME) @Documented public @interface WebServlet
This annotation is used to declare the configuration of a `Servlet`.
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 class on which this annotation is declared MUST extend `HttpServlet`.
E.g. `@WebServlet("/path")}
public class TestServlet extends HttpServlet ... {`
E.g. `@WebServlet(name="TestServlet", urlPatterns={"/path", "/alt"})
public class TestServlet extends HttpServlet ... {`

Since:
  Servlet 3.0 (Section 8.1.1)

## Optional Element Summary

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

## Element Details

### name

String name

Returns:
  name of the Servlet

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:
  `{}`

### loadOnStartup

int loadOnStartup

Returns:
  load on startup ordering hint

Default:
  `-1`

### initParams

WebInitParam[] initParams

Returns:
  array of initialization params for this Servlet

Default:
  `{}`

### asyncSupported

boolean asyncSupported

Returns:
  asynchronous operation supported by this Servlet

Default:
  `false`

### smallIcon

String smallIcon

Returns:
  small icon for this Servlet, if present

Default:
  `""`

### largeIcon

String largeIcon

Returns:
  large icon for this Servlet, if present

Default:
  `""`

### description

String description

Returns:
  description of this Servlet, if present

Default:
  `""`

### displayName

String displayName

Returns:
  display name of this Servlet, if present

Default:
  `""`