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
,MatchableHandlerMapping
,HandlerMapping
- Direct Known Subclasses:
WebSocketHandlerMapping
public class SimpleUrlHandlerMapping extends AbstractUrlHandlerMapping
Implementation of theHandlerMapping
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 isPATH=HANDLER_BEAN_NAME
. If the path doesn't begin with a slash, one is prepended.Supports direct matches (given "/test" -> registered "/test") and "*" pattern 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 on the pattern options, see theAntPathMatcher
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_HANDLER_ATTRIBUTE, BEST_MATCHING_PATTERN_ATTRIBUTE, INTROSPECT_TYPE_LEVEL_MAPPING, 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()
Method Summary
All Methods Instance Methods Concrete Methods 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 theregisterHandlers(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, match, registerHandler, registerHandler, setLazyInitHandlers, setRootHandler, setUseTrailingSlashMatch, supportsTypeLevelMappings, useTrailingSlashMatch, validateHandler
Methods inherited from class org.springframework.web.servlet.handler.AbstractHandlerMapping
adaptInterceptor, detectMappedInterceptors, extendInterceptors, getAdaptedInterceptors, getCorsConfiguration, getCorsConfigurations, getCorsHandlerExecutionChain, getCorsProcessor, getDefaultHandler, getHandler, getHandlerExecutionChain, getMappedInterceptors, getOrder, getPathMatcher, getUrlPathHelper, initInterceptors, setAlwaysUseFullPath, setCorsConfigurations, setCorsProcessor, setDefaultHandler, setInterceptors, setOrder, setPathMatcher, setRemoveSemicolonContent, 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
Methods inherited from interface org.springframework.web.servlet.HandlerMapping
getHandler
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 theregisterHandlers(java.util.Map<java.lang.String, java.lang.Object>)
method in addition to the superclass's initialization.- Overrides:
initApplicationContext
in classAbstractHandlerMapping
- Throws:
ApplicationContextException
- in case of initialization errorsBeansException
- 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 registeredIllegalStateException
- if there is a conflicting handler registered