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:
    Aware, ApplicationContextAware, Ordered, ServletContextAware, HandlerMapping

      public class BeanNameUrlHandlerMapping
      extends AbstractDetectingUrlHandlerMapping

  Implementation of the `HandlerMapping` interface that map 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 `DefaultAnnotationHandlerMapping` (on Java 5 and higher). 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. Note: In XML definitions, you'll need to use an alias name="/foo" in the bean definition, as the XML id may not contain slashes.

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

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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, 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, 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`

- - ### Constructor Detail

    - #### BeanNameUrlHandlerMapping

          public BeanNameUrlHandlerMapping()

  - ### Method Detail

    - #### 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 `null` or an empty array if none