# Annotation Type ServletSecurity

@Inherited @Target(TYPE) @Retention(RUNTIME) @Documented public @interface ServletSecurity
Declare this annotation on a `Servlet` implementation class to enforce security constraints on HTTP protocol requests.
The container applies constraints to the URL patterns mapped to each Servlet which declares this annotation.

Since:
  Servlet 3.0

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `ServletSecurity.EmptyRoleSemantic`
  Represents the two possible values of the empty role semantic, active when a list of role names is empty.
  `static enum`
  `ServletSecurity.TransportGuarantee`
  Represents the two possible values of data transport, encrypted or not.

- ## Optional Element Summary

  Optional Elements
  Modifier and Type
  Optional Element
  Description
  `HttpMethodConstraint[]`
  `httpMethodConstraints`
  An array of HttpMethodConstraint objects to which the security constraint will be applied
  `HttpConstraint`
  `value`
  The default constraint to apply to requests not handled by specific method constraints

- ## Element Details

  - ### value

    HttpConstraint value
    The default constraint to apply to requests not handled by specific method constraints
    Returns:
      http constraint
    Default:
      `@jakarta.servlet.annotation.HttpConstraint`

  - ### httpMethodConstraints

    HttpMethodConstraint[] httpMethodConstraints
    An array of HttpMethodConstraint objects to which the security constraint will be applied
    Returns:
      array of http method constraint
    Default:
      `{}`