Package org.springframework.web.servlet.config.annotation

# Class DefaultServletHandlerConfigurer

java.lang.Object
org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer

public class DefaultServletHandlerConfigurer extends Object
Configures a request handler for serving static resources by forwarding the request to the Servlet container's "default" Servlet. This is intended to be used when the Spring MVC `DispatcherServlet` is mapped to "/" thus overriding the Servlet container's default handling of static resources.

Since this handler is configured at the lowest precedence, effectively it allows all other handler mappings to handle the request, and if none of them do, this handler can forward it to the "default" Servlet.

Since:
  3.1
Author:
  Rossen Stoyanchev, Juergen Hoeller
See Also:
  - `DefaultServletHttpRequestHandler`

## Constructor Summary

Constructors
Constructor
Description
`DefaultServletHandlerConfigurer(ServletContext servletContext)`
Create a `DefaultServletHandlerConfigurer` instance.

## Method Summary

Modifier and Type
Method
Description
`protected SimpleUrlHandlerMapping`
`buildHandlerMapping()`
Return a handler mapping instance ordered at `Ordered.LOWEST_PRECEDENCE` containing the `DefaultServletHttpRequestHandler` instance mapped to `"/**"`; or `null` if default servlet handling was not enabled.
`void`
`enable()`
Enable forwarding to the "default" Servlet.
`void`
`enable(String defaultServletName)`
Enable forwarding to the "default" Servlet identified by the given name.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DefaultServletHandlerConfigurer

public DefaultServletHandlerConfigurer(ServletContext servletContext)
Create a `DefaultServletHandlerConfigurer` instance.

Parameters:
  `servletContext` - the ServletContext to use.

## Method Details

### enable

public void enable()
Enable forwarding to the "default" Servlet.

When this method is used the `DefaultServletHttpRequestHandler` will try to autodetect the "default" Servlet name. Alternatively, you can specify the name of the default Servlet via `enable(String)`.

See Also:
  - `DefaultServletHttpRequestHandler`

### enable

public void enable(@Nullable String defaultServletName)
Enable forwarding to the "default" Servlet identified by the given name.

This is useful when the default Servlet cannot be autodetected, for example when it has been manually configured.

See Also:
  - `DefaultServletHttpRequestHandler`

### buildHandlerMapping

@Nullable protected SimpleUrlHandlerMapping buildHandlerMapping()
Return a handler mapping instance ordered at `Ordered.LOWEST_PRECEDENCE` containing the `DefaultServletHttpRequestHandler` instance mapped to `"/**"`; or `null` if default servlet handling was not enabled.

Since:
  4.3.12