1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.springframework.web.servlet.resource;
18
19 import java.util.List;
20 import javax.servlet.http.HttpServletRequest;
21
22 import org.apache.commons.logging.Log;
23 import org.apache.commons.logging.LogFactory;
24
25 import org.springframework.core.io.Resource;
26
27
28
29
30
31
32
33
34 public abstract class AbstractResourceResolver implements ResourceResolver {
35
36 protected final Log logger = LogFactory.getLog(getClass());
37
38
39 @Override
40 public Resource resolveResource(HttpServletRequest request, String requestPath,
41 List<? extends Resource> locations, ResourceResolverChain chain) {
42
43 if (logger.isTraceEnabled()) {
44 logger.trace("Resolving resource: requestPath=\"" + requestPath + "\"");
45 }
46 return resolveResourceInternal(request, requestPath, locations, chain);
47 }
48
49 protected abstract Resource resolveResourceInternal(HttpServletRequest request, String requestPath,
50 List<? extends Resource> locations, ResourceResolverChain chain);
51
52 @Override
53 public String resolveUrlPath(String resourceUrlPath, List<? extends Resource> locations,
54 ResourceResolverChain chain) {
55
56 if (logger.isTraceEnabled()) {
57 logger.trace("Resolving public URL for path=\"" + resourceUrlPath + "\"");
58 }
59
60 return resolveUrlPathInternal(resourceUrlPath, locations, chain);
61 }
62
63 protected abstract String resolveUrlPathInternal(String resourceUrlPath,
64 List<? extends Resource> locations, ResourceResolverChain chain);
65
66 }