Class ResourceController
- java.lang.Object
-
- org.springframework.context.support.ApplicationObjectSupport
-
- org.springframework.web.context.support.WebApplicationObjectSupport
-
- org.springframework.web.servlet.support.WebContentGenerator
-
- org.springframework.web.servlet.mvc.AbstractController
-
- org.springframework.extensions.webscripts.servlet.mvc.ResourceController
-
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.web.context.ServletContextAware,org.springframework.web.servlet.mvc.Controller
public class ResourceController extends org.springframework.web.servlet.mvc.AbstractControllerSpring controller for retrieving and serving resources.This controller retrieves content by interrogating resource providers in the following order:
1) Web application context resources (Jar files, followed by classpath) 2) Web application path
3) Delegation to a default url handler
The order allows resource assets to be overriden in jar file or classpath based extensions.
The following URL format is supported:
/res/- Author:
- kevinr, muzquiano
-
-
Constructor Summary
Constructors Constructor Description ResourceController()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidapplyHeaders(java.lang.String path, javax.servlet.http.HttpServletResponse response, long contentLength, long lastModified)voidcommitResponse(java.lang.String path, java.net.URL resourceUrl, javax.servlet.http.HttpServletResponse response)Commit the resource to the response stream.voidcommitResponse(java.lang.String path, org.springframework.core.io.Resource resource, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)protected voidcopyStream(java.io.InputStream in, java.io.OutputStream out)Fast stream copy method - uses ThreadLocal byte buffer to avoid reallocating byte arraysbooleandispatchResource(java.lang.String path, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)Dispatches to the resource with the given pathjava.lang.StringgetDefaultUrl()Gets the default url.org.springframework.web.servlet.ModelAndViewhandleRequestInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)voidsetDefaultUrl(java.lang.String defaultUrl)Sets the default url.-
Methods inherited from class org.springframework.web.servlet.mvc.AbstractController
handleRequest, isSynchronizeOnSession, setSynchronizeOnSession
-
Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator
applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, preventCaching, setAlwaysMustRevalidate, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeader
-
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
-
-
-
-
Method Detail
-
setDefaultUrl
public void setDefaultUrl(java.lang.String defaultUrl)
Sets the default url.- Parameters:
defaultUrl- the new default url
-
getDefaultUrl
public java.lang.String getDefaultUrl()
Gets the default url.- Returns:
- the default url
-
handleRequestInternal
public org.springframework.web.servlet.ModelAndView handleRequestInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.lang.Exception- Specified by:
handleRequestInternalin classorg.springframework.web.servlet.mvc.AbstractController- Throws:
java.lang.Exception
-
dispatchResource
public boolean dispatchResource(java.lang.String path, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOExceptionDispatches to the resource with the given path- Parameters:
path- the pathrequest- the requestresponse- the response- Throws:
javax.servlet.ServletExceptionjava.io.IOException
-
commitResponse
public void commitResponse(java.lang.String path, java.net.URL resourceUrl, javax.servlet.http.HttpServletResponse response) throws java.io.IOExceptionCommit the resource to the response stream. Sets appropriate date, length and content type headers.- Throws:
java.io.IOException
-
commitResponse
public void commitResponse(java.lang.String path, org.springframework.core.io.Resource resource, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws java.io.IOException, javax.servlet.ServletException- Throws:
java.io.IOExceptionjavax.servlet.ServletException
-
applyHeaders
protected void applyHeaders(java.lang.String path, javax.servlet.http.HttpServletResponse response, long contentLength, long lastModified)
-
copyStream
protected void copyStream(java.io.InputStream in, java.io.OutputStream out) throws java.io.IOExceptionFast stream copy method - uses ThreadLocal byte buffer to avoid reallocating byte arrays- Throws:
java.io.IOException
-
-