## org.springframework.web.servlet.handler
Class SimpleUrlHandlerMapping

    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
                      org.springframework.web.servlet.handler.SimpleUrlHandlerMapping

All Implemented Interfaces:
  Aware, ApplicationContextAware, Ordered, ServletContextAware, HandlerMapping

    public class SimpleUrlHandlerMapping

extends AbstractUrlHandlerMapping

Implementation of the `HandlerMapping` interface to map from URLs to request handler beans. Supports both mapping to bean instances and mapping to bean names; the latter is required for non-singleton handlers.

The "urlMap" property is suitable for populating the handler map with bean references, e.g. via the map element in XML bean definitions.

Mappings to bean names can be set via the "mappings" property, in a form accepted by the `java.util.Properties` class, like as follows:
`/welcome.html=ticketController /show.html=ticketController`
The syntax is `PATH=HANDLER_BEAN_NAME`. If the path doesn't begin with a slash, one is prepended.

Supports direct matches (given "/test" -> registered "/test") and "*" matches (given "/test" -> registered "/t*"). Note that the default is to map within the current servlet mapping if applicable; see the `"alwaysUseFullPath"` property for details. For details on the pattern options, see the `AntPathMatcher` javadoc.

Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `setMappings(java.util.Properties)`, `setUrlMap(java.util.Map<java.lang.String, ?>)`, `BeanNameUrlHandlerMapping`

Field Summary

Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
`logger`

Fields inherited from interface org.springframework.web.servlet.HandlerMapping
`BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, PRODUCIBLE_MEDIA_TYPES_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE`

Fields inherited from interface org.springframework.core.Ordered
`HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

Constructor Summary
`SimpleUrlHandlerMapping()`

Method Summary
`Map<String,?>` `getUrlMap()` Allow Map access to the URL path mappings, with the option to add or override specific entries.
`void` `initApplicationContext()` Calls the `registerHandlers(java.util.Map<java.lang.String, java.lang.Object>)` method in addition to the superclass's initialization.
`protected void` `registerHandlers(Map<String,Object> urlMap)` Register all handlers specified in the URL map for the corresponding paths.
`void` `setMappings(Properties mappings)` Map URL paths to handler bean names.
`void` `setUrlMap(Map<String,?> urlMap)` Set a Map with URL paths as keys and handler beans (or handler bean names) as values.

Methods inherited from class org.springframework.web.servlet.handler.AbstractUrlHandlerMapping
`buildPathExposingHandler, exposePathWithinMapping, exposeUriTemplateVariables, getHandlerInternal, getHandlerMap, getRootHandler, lookupHandler, registerHandler, registerHandler, setLazyInitHandlers, setRootHandler, supportsTypeLevelMappings, validateHandler`

Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
`adaptInterceptor, detectMappedInterceptors, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initInterceptors, setAlwaysUseFullPath, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setUrlDecode, setUrlPathHelper`

Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
`getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext`

Methods inherited from class org.springframework.context.support.ApplicationObjectSupport
`getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SimpleUrlHandlerMapping

    public SimpleUrlHandlerMapping()

Method Detail

### setMappings

    public void setMappings(Properties mappings)

  Map URL paths to handler bean names. This is the typical way of configuring this HandlerMapping.

  Supports direct URL matches and Ant-style pattern matches. For syntax details, see the `AntPathMatcher` javadoc.

  Parameters:
    `mappings` - properties with URLs as keys and bean names as values
  See Also:
    `setUrlMap(java.util.Map<java.lang.String, ?>)`

### setUrlMap

    public void setUrlMap(Map<String,?> urlMap)

  Set a Map with URL paths as keys and handler beans (or handler bean names) as values. Convenient for population with bean references.

  Supports direct URL matches and Ant-style pattern matches. For syntax details, see the `AntPathMatcher` javadoc.

  Parameters:
    `urlMap` - map with URLs as keys and beans as values
  See Also:
    `setMappings(java.util.Properties)`

### getUrlMap

    public Map<String,?> getUrlMap()

  Allow Map access to the URL path mappings, with the option to add or override specific entries.

  Useful for specifying entries directly, for example via "urlMap[myKey]". This is particularly useful for adding or overriding entries in child bean definitions.

### initApplicationContext

    public void initApplicationContext()
                                throws BeansException

  Calls the `registerHandlers(java.util.Map<java.lang.String, java.lang.Object>)` method in addition to the superclass's initialization.

  Overrides:
    `initApplicationContext` in class `AbstractHandlerMapping`
  Throws:
    `ApplicationContextException` - in case of initialization errors
    `BeansException` - if thrown by ApplicationContext methods
  See Also:
    `AbstractHandlerMapping.extendInterceptors(java.util.List)`, `AbstractHandlerMapping.initInterceptors()`

### registerHandlers

    protected void registerHandlers(Map<String,Object> urlMap)
                             throws BeansException

  Register all handlers specified in the URL map for the corresponding paths.

  Parameters:
    `urlMap` - Map with URL paths as keys and handler beans or bean names as values
  Throws:
    `BeansException` - if a handler couldn't be registered
    `IllegalStateException` - if there is a conflicting handler registered