Save This Page
Home » spring-framework-2.5.5-with-dependencies » org.springframework » web » servlet » handler » [javadoc | source]
org.springframework.web.servlet.handler
abstract public class: AbstractUrlHandlerMapping [javadoc | source]
java.lang.Object
   org.springframework.context.support.ApplicationObjectSupport
      org.springframework.web.context.support.WebApplicationObjectSupport
         org.springframework.web.servlet.handler.AbstractHandlerMapping
            org.springframework.web.servlet.handler.AbstractUrlHandlerMapping

All Implemented Interfaces:
    HandlerMapping, Ordered, ServletContextAware, ApplicationContextAware

Direct Known Subclasses:
    DefaultAnnotationHandlerMapping, AbstractControllerUrlHandlerMapping, AbstractDetectingUrlHandlerMapping, AbstractPathMapHandlerMapping, CommonsPathMapHandlerMapping, BeanNameUrlHandlerMapping, SimpleUrlHandlerMapping, ControllerBeanNameHandlerMapping, ControllerClassNameHandlerMapping

Abstract base class for URL-mapped org.springframework.web.servlet.HandlerMapping implementations. Provides infrastructure for mapping handlers to URLs and configurable URL lookup. For information on the latter, see "alwaysUseFullPath" property.

Supports direct matches, e.g. a registered "/test" matches "/test", and various Ant-style pattern matches, e.g. a registered "/t*" pattern matches both "/test" and "/team", "/test/*" matches all paths in the "/test" directory, "/test/**" matches all paths below "/test". For details, see the AntPathMatcher javadoc.

Will search all path patterns to find the most exact match for the current request path. The most exact match is defined as the longest path pattern that matches the current request path.

Fields inherited from org.springframework.context.support.ApplicationObjectSupport:
logger
Method from org.springframework.web.servlet.handler.AbstractUrlHandlerMapping Summary:
buildPathExposingHandler,   exposePathWithinMapping,   getHandlerInternal,   getHandlerMap,   getPathMatcher,   getRootHandler,   lookupHandler,   registerHandler,   registerHandler,   setAlwaysUseFullPath,   setLazyInitHandlers,   setPathMatcher,   setRootHandler,   setUrlDecode,   setUrlPathHelper,   validateHandler
Methods from org.springframework.web.servlet.handler.AbstractHandlerMapping:
adaptInterceptor,   extendInterceptors,   getAdaptedInterceptors,   getDefaultHandler,   getHandler,   getHandlerExecutionChain,   getHandlerInternal,   getOrder,   initApplicationContext,   initInterceptors,   setDefaultHandler,   setInterceptors,   setOrder
Methods from org.springframework.web.context.support.WebApplicationObjectSupport:
getServletContext,   getTempDir,   getWebApplicationContext,   initApplicationContext,   initServletContext,   isContextRequired,   setServletContext
Methods from org.springframework.context.support.ApplicationObjectSupport:
getApplicationContext,   getMessageSourceAccessor,   initApplicationContext,   initApplicationContext,   isContextRequired,   requiredContextClass,   setApplicationContext
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.springframework.web.servlet.handler.AbstractUrlHandlerMapping Detail:
 protected Object buildPathExposingHandler(Object rawHandler,
    String pathWithinMapping) 
 protected  void exposePathWithinMapping(String pathWithinMapping,
    HttpServletRequest request) 
    Expose the path within the current mapping as request attribute.
 protected Object getHandlerInternal(HttpServletRequest request) throws Exception 
    Look up a handler for the URL path of the given request.
 public final Map getHandlerMap() 
    Return the registered handlers as an unmodifiable Map, with the registered path as key and the handler object (or handler bean name in case of a lazy-init handler) as value.
 public PathMatcher getPathMatcher() 
    Return the PathMatcher implementation to use for matching URL paths against registered URL patterns.
 public Object getRootHandler() 
    Return the root handler for this handler mapping (registered for "/"), or null if none.
 protected Object lookupHandler(String urlPath,
    HttpServletRequest request) throws Exception 
    Look up a handler instance for the given URL path.

    Supports direct matches, e.g. a registered "/test" matches "/test", and various Ant-style pattern matches, e.g. a registered "/t*" matches both "/test" and "/team". For details, see the AntPathMatcher class.

    Looks for the most exact pattern, where most exact is defined as the longest path pattern.

 protected  void registerHandler(String[] urlPaths,
    String beanName) throws IllegalStateException, BeansException 
    Register the specified handler for the given URL paths.
 protected  void registerHandler(String urlPath,
    Object handler) throws IllegalStateException, BeansException 
    Register the specified handler for the given URL path.
 public  void setAlwaysUseFullPath(boolean alwaysUseFullPath) 
    Set if URL lookup should always use the full path within the current servlet context. Else, the path within the current servlet mapping is used if applicable (that is, in the case of a ".../*" servlet mapping in web.xml).

    Default is "false".

 public  void setLazyInitHandlers(boolean lazyInitHandlers) 
    Set whether to lazily initialize handlers. Only applicable to singleton handlers, as prototypes are always lazily initialized. Default is "false", as eager initialization allows for more efficiency through referencing the controller objects directly.

    If you want to allow your controllers to be lazily initialized, make them "lazy-init" and set this flag to true. Just making them "lazy-init" will not work, as they are initialized through the references from the handler mapping in this case.

 public  void setPathMatcher(PathMatcher pathMatcher) 
    Set the PathMatcher implementation to use for matching URL paths against registered URL patterns. Default is AntPathMatcher.
 public  void setRootHandler(Object rootHandler) 
    Set the root handler for this handler mapping, that is, the handler to be registered for the root path ("/").

    Default is null, indicating no root handler.

 public  void setUrlDecode(boolean urlDecode) 
    Set if context path and request URI should be URL-decoded. Both are returned undecoded by the Servlet API, in contrast to the servlet path.

    Uses either the request encoding or the default encoding according to the Servlet spec (ISO-8859-1).

 public  void setUrlPathHelper(UrlPathHelper urlPathHelper) 
    Set the UrlPathHelper to use for resolution of lookup paths.

    Use this to override the default UrlPathHelper with a custom subclass, or to share common UrlPathHelper settings across multiple HandlerMappings and MethodNameResolvers.

 protected  void validateHandler(Object handler,
    HttpServletRequest request) throws Exception 
    Validate the given handler against the current request.

    The default implementation is empty. Can be overridden in subclasses, for example to enforce specific preconditions expressed in URL mappings.