Spring MVC BeanNameUrlHandlerMapping example

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>
posted @ 2015-08-24 16:32  wuhn  阅读(189)  评论(0编辑  收藏  举报