Class DefaultServletHttpRequestHandler
- All Implemented Interfaces:
Aware
,ServletContextAware
,HttpRequestHandler
HttpRequestHandler
for serving static files using the Servlet container's "default" Servlet.
This handler is intended to be used with a "/*" mapping when the
DispatcherServlet
is mapped to "/", thus overriding the Servlet container's default handling of static resources.
The mapping to this handler should generally be ordered as the last in the chain so that it will
only execute when no other more specific mappings (i.e., to controllers) can be matched.
Requests are handled by forwarding through the RequestDispatcher
obtained via the
name specified through the "defaultServletName" property
.
In most cases, the defaultServletName
does not need to be set explicitly, as the
handler checks at initialization time for the presence of the default Servlet of well-known
containers such as Tomcat, Jetty, WebLogic and WebSphere. However, when running in a
container where the default Servlet's name is not known, or where it has been customized
via server configuration, the defaultServletName
will need to be set explicitly.
- Since:
- 3.0.4
- Author:
- Jeremy Grelle, Juergen Hoeller
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
handleRequest
(HttpServletRequest request, HttpServletResponse response) Process the given request, generating a response.void
setDefaultServletName
(String defaultServletName) Set the name of the default Servlet to be forwarded to for static resource requests.void
setServletContext
(ServletContext servletContext) If thedefaultServletName
property has not been explicitly set, attempts to locate the default Servlet using the known common container-specific names.
-
Constructor Details
-
DefaultServletHttpRequestHandler
public DefaultServletHttpRequestHandler()
-
-
Method Details
-
setDefaultServletName
Set the name of the default Servlet to be forwarded to for static resource requests. -
setServletContext
If thedefaultServletName
property has not been explicitly set, attempts to locate the default Servlet using the known common container-specific names.- Specified by:
setServletContext
in interfaceServletContextAware
- Parameters:
servletContext
- the ServletContext object to be used by this object- See Also:
-
handleRequest
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException Description copied from interface:HttpRequestHandler
Process the given request, generating a response.- Specified by:
handleRequest
in interfaceHttpRequestHandler
- Parameters:
request
- current HTTP requestresponse
- current HTTP response- Throws:
ServletException
- in case of general errorsIOException
- in case of I/O errors
-