In Spring MVC, BeanNameUrlHandlerMapping is the default handler mapping mechanism, which maps URL requests to the name of the beans. For example,
<beans ...>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<bean name="/welcome.htm" class="com.mkyong.common.controller.WelcomeController" />
<bean name="/streetName.htm" class="com.mkyong.common.controller.StreetNameController" />
<bean name="/process*.htm" class="com.mkyong.common.controller.ProcessController" />
</beans>
In above example, If URI pattern /welcome.htm is requested,DispatcherServlet will forward the request to the “WelcomeController“.
/streetName.htm is requested,DispatcherServlet will forward the request to the “StreetNameController“.
/processCreditCard.htm or /process{any thing}.htm is requested, DispatcherServlet will forward the request to the “ProcessController“.
Actually, declare BeanNameUrlHandlerMapping is optional, by default, if Spring can’t found handler mapping, the DispatcherServlet will creates a BeanNameUrlHandlerMapping automatically.
So, the above web.xml file is equivalence to the following web.xml:
<beans ...>
<bean name="/welcome.htm" class="com.mkyong.common.controller.WelcomeController" />
<bean name="/streetName.htm" class="com.mkyong.common.controller.StreetNameController" />
<bean name="/process*.htm" class="com.mkyong.common.controller.ProcessController" />
</beans>