Skip to content

Commit

Permalink
Document the DefaultServlet is no longer being enabled by default
Browse files Browse the repository at this point in the history
  • Loading branch information
ionascustefanciprian authored and snicoll committed Aug 9, 2022
1 parent 22a5ccf commit c441baf
Showing 1 changed file with 11 additions and 1 deletion.
Expand Up @@ -127,7 +127,17 @@ If you set the configprop:spring.mvc.message-codes-resolver-format[] property `P
By default, Spring Boot serves static content from a directory called `/static` (or `/public` or `/resources` or `/META-INF/resources`) in the classpath or from the root of the `ServletContext`.
It uses the `ResourceHttpRequestHandler` from Spring MVC so that you can modify that behavior by adding your own `WebMvcConfigurer` and overriding the `addResourceHandlers` method.

In a stand-alone web application, the default servlet from the container is also enabled and acts as a fallback, serving content from the root of the `ServletContext` if Spring decides not to handle it.
In a stand-alone web application, default servlet is not enabled. It can be enabled as follows:


[source,yaml,indent=0,subs="verbatim",configprops,configblocks]
----
server:
servlet:
register-default-servlet: true
----

If the default servlet is enablend it acts as a fallback, serving content from the root of the `ServletContext` if Spring decides not to handle it.
Most of the time, this does not happen (unless you modify the default MVC configuration), because Spring can always handle requests through the `DispatcherServlet`.

By default, resources are mapped on `+/**+`, but you can tune that with the configprop:spring.mvc.static-path-pattern[] property.
Expand Down

0 comments on commit c441baf

Please sign in to comment.