Package 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:
  `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, for example, 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:
  - `setMappings(java.util.Properties)`
  - `setUrlMap(java.util.Map<java.lang.String, ?>)`
  - `BeanNameUrlHandlerMapping`

## Field Summary

### Fields inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping

`mappingsLogger`

### Fields inherited from class org.springframework.context.support.ApplicationObjectSupport

`logger`

### Fields inherited from interface org.springframework.web.servlet.HandlerMapping

`BEST_MATCHING_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, LOOKUP_PATH, MATRIX_VARIABLES_ATTRIBUTE, 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

Constructors
Constructor
Description
`SimpleUrlHandlerMapping()`
Create a `SimpleUrlHandlerMapping` with default settings.
`SimpleUrlHandlerMapping(Map<String,?> urlMap)`
Create a `SimpleUrlHandlerMapping` using the supplied URL map.
`SimpleUrlHandlerMapping(Map<String,?> urlMap, int order)`
Create a `SimpleUrlHandlerMapping` using the supplied URL map and order.

## Method Summary

Modifier and Type
Method
Description
`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, getPathPatternHandlerMap, getRootHandler, lookupHandler, lookupHandler, match, registerHandler, registerHandler, setLazyInitHandlers, setPatternParser, setRootHandler, setUseTrailingSlashMatch, supportsTypeLevelMappings, unregisterHandler, useTrailingSlashMatch, validateHandler`

### Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping

`adaptInterceptor, detectMappedInterceptors, extendInterceptors, formatMappingName, getAdaptedInterceptors, getCorsConfiguration, getCorsConfigurationSource, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getPatternParser, getUrlPathHelper, hasCorsConfigurationSource, initInterceptors, initLookupPath, setAlwaysUseFullPath, setBeanName, setCorsConfigurations, setCorsConfigurationSource, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, setUrlDecode, setUrlPathHelper, usesPathPatterns`

### 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, obtainApplicationContext, requiredContextClass, setApplicationContext`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.springframework.web.servlet.HandlerMapping

`getHandler, usesPathPatterns`

### Methods inherited from interface org.springframework.web.servlet.handler.MatchableHandlerMapping

`getPatternParser`

## 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:
  - `setUrlMap(Map)`

### 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:
  - `setUrlMap(Map)`
  - `AbstractHandlerMapping.setOrder(int)`

## 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(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 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:
  - `AbstractHandlerMapping.extendInterceptors(java.util.List)`
  - `AbstractHandlerMapping.initInterceptors()`

### 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