Class SimpleUrlHandlerMapping

java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered, org.springframework.web.context.ServletContextAware, MatchableHandlerMapping, HandlerMapping

public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping
Implementation of the HandlerMapping interface that maps 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, 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*"). For details on the pattern options, see the PathPattern javadoc.

Author:
Rod Johnson, Juergen Hoeller, Sam Brannen
See Also:
  • Constructor Details

    • SimpleUrlHandlerMapping

      public SimpleUrlHandlerMapping()
      Create a SimpleUrlHandlerMapping with default settings.
    • SimpleUrlHandlerMapping

      public SimpleUrlHandlerMapping(Map<String,?> urlMap)
      Create a SimpleUrlHandlerMapping using the supplied URL map.
      Parameters:
      urlMap - map with URL paths as keys and handler beans (or handler bean names) as values
      Since:
      5.2
      See Also:
    • SimpleUrlHandlerMapping

      public SimpleUrlHandlerMapping(Map<String,?> urlMap, int order)
      Create a SimpleUrlHandlerMapping using the supplied URL map and order.
      Parameters:
      urlMap - map with URL paths as keys and handler beans (or handler bean names) as values
      order - the order value for this SimpleUrlHandlerMapping
      Since:
      5.2
      See Also:
  • Method Details

    • 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

      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:
    • 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 org.springframework.beans.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:
      org.springframework.beans.BeansException
      See Also:
    • registerHandlers

      protected void registerHandlers(Map<String,Object> urlMap) throws org.springframework.beans.BeansException
      Register all handlers specified in the URL map for the corresponding paths.
      Parameters:
      urlMap - a Map with URL paths as keys and handler beans or bean names as values
      Throws:
      org.springframework.beans.BeansException - if a handler couldn't be registered
      IllegalStateException - if there is a conflicting handler registered