Class ServletContextResourcePatternResolver
- java.lang.Object
- org.springframework.core.io.support.PathMatchingResourcePatternResolver
- org.springframework.web.context.support.ServletContextResourcePatternResolver
- All Implemented Interfaces:
ResourceLoader
,ResourcePatternResolver
public class ServletContextResourcePatternResolver extends PathMatchingResourcePatternResolver
ServletContext-aware subclass ofPathMatchingResourcePatternResolver
, able to find matching resources below the web application root directory viaServletContext.getResourcePaths(java.lang.String)
. Falls back to the superclass' file system checking for other resources.- Since:
- 1.1.2
- Author:
- Juergen Hoeller
Field Summary
Fields inherited from interface org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver
CLASSPATH_ALL_URL_PREFIX
Constructor Summary
Constructors Constructor Description ServletContextResourcePatternResolver(ServletContext servletContext)
Create a new ServletContextResourcePatternResolver.ServletContextResourcePatternResolver(ResourceLoader resourceLoader)
Create a new ServletContextResourcePatternResolver.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Set<Resource>
doFindPathMatchingFileResources(Resource rootDirResource, String subPattern)
Overridden version which checks for ServletContextResource and usesServletContext.getResourcePaths
to find matching resources below the web application root directory.protected void
doRetrieveMatchingServletContextResources(ServletContext servletContext, String fullPattern, String dir, Set<Resource> result)
Recursively retrieve ServletContextResources that match the given pattern, adding them to the given result set.Methods inherited from class org.springframework.core.io.support.PathMatchingResourcePatternResolver
addAllClassLoaderJarRoots, addClassPathManifestEntries, convertClassLoaderURL, determineRootDir, doFindAllClassPathResources, doFindMatchingFileSystemResources, doFindPathMatchingJarResources, doRetrieveMatchingFiles, findAllClassPathResources, findPathMatchingResources, getClassLoader, getJarFile, getPathMatcher, getResource, getResourceLoader, getResources, isJarResource, listDirectory, resolveRootDirResource, retrieveMatchingFiles, setPathMatcher
Constructor Detail
ServletContextResourcePatternResolver
public ServletContextResourcePatternResolver(ServletContext servletContext)
Create a new ServletContextResourcePatternResolver.- Parameters:
servletContext
- the ServletContext to load resources with- See Also:
ServletContextResourceLoader(javax.servlet.ServletContext)
ServletContextResourcePatternResolver
public ServletContextResourcePatternResolver(ResourceLoader resourceLoader)
Create a new ServletContextResourcePatternResolver.- Parameters:
resourceLoader
- the ResourceLoader to load root directories and actual resources with
Method Detail
doFindPathMatchingFileResources
protected Set<Resource> doFindPathMatchingFileResources(Resource rootDirResource, String subPattern) throws IOException
Overridden version which checks for ServletContextResource and usesServletContext.getResourcePaths
to find matching resources below the web application root directory. In case of other resources, delegates to the superclass version.- Overrides:
doFindPathMatchingFileResources
in classPathMatchingResourcePatternResolver
- Parameters:
rootDirResource
- the root directory as ResourcesubPattern
- the sub pattern to match (below the root directory)- Returns:
- a mutable Set of matching Resource instances
- Throws:
IOException
- in case of I/O errors- See Also:
doRetrieveMatchingServletContextResources(javax.servlet.ServletContext, java.lang.String, java.lang.String, java.util.Set<org.springframework.core.io.Resource>)
,ServletContextResource
,ServletContext.getResourcePaths(java.lang.String)
doRetrieveMatchingServletContextResources
protected void doRetrieveMatchingServletContextResources(ServletContext servletContext, String fullPattern, String dir, Set<Resource> result) throws IOException
Recursively retrieve ServletContextResources that match the given pattern, adding them to the given result set.- Parameters:
servletContext
- the ServletContext to work onfullPattern
- the pattern to match against, with preprended root directory pathdir
- the current directoryresult
- the Set of matching Resources to add to- Throws:
IOException
- if directory contents could not be retrieved- See Also:
ServletContextResource
,ServletContext.getResourcePaths(java.lang.String)