Package org.springframework.web.servlet.handler

# Class BeanNameUrlHandlerMapping

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

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 BeanNameUrlHandlerMapping extends AbstractDetectingUrlHandlerMapping
Implementation of the `HandlerMapping` interface that maps from URLs to beans with names that start with a slash ("/"), similar to how Struts maps URLs to action names.

This is the default implementation used by the `DispatcherServlet`, along with `RequestMappingHandlerMapping`. Alternatively, `SimpleUrlHandlerMapping` allows for customizing a handler mapping declaratively.

The mapping is from URL to bean name. Thus an incoming URL "/foo" would map to a handler named "/foo", or to "/foo /foo2" in case of multiple mappings to a single handler.

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
See Also:
  - `SimpleUrlHandlerMapping`

## 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
`BeanNameUrlHandlerMapping()`

## Method Summary

Modifier and Type
Method
Description
`protected String[]`
`determineUrlsForHandler(String beanName)`
Checks name and aliases of the given bean for URLs, starting with "/".

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

`detectHandlers, initApplicationContext, setDetectHandlersInAncestorContexts`

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

### BeanNameUrlHandlerMapping

public BeanNameUrlHandlerMapping()

## Method Details

### determineUrlsForHandler

protected String[] determineUrlsForHandler(String beanName)
Checks name and aliases of the given bean for URLs, starting with "/".

Specified by:
  `determineUrlsForHandler` in class `AbstractDetectingUrlHandlerMapping`
Parameters:
  `beanName` - the name of the candidate bean
Returns:
  the URLs determined for the bean, or an empty array if none