In Spring MVC application, the SimpleUrlHandlerMapping is the most flexible handler mapping class, which allow developer to specify the mapping of URL pattern and handlers explicitly.
The SimpleUrlHandlerMapping can be declared in two ways.
1. Method 1 – prop key
The property keys are the URL patterns while the property values are the handler IDs or names.
<beans ...>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/welcome.htm">welcomeController</prop>
<prop key="/*/welcome.htm">welcomeController</prop>
<prop key="/helloGuest.htm">helloGuestController</prop>
</props>
</property>
</bean>
<bean
class="com.mkyong.common.controller.WelcomeController" />
<bean
class="com.mkyong.common.controller.HelloGuestController" />
</beans>
2. Method 1 – value
The left side are the URL patterns while the right side are the handler IDs or names, separate by a equal symbol “=”.
<beans ...>
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/welcome.htm=welcomeController
/*/welcome.htm=welcomeController
/helloGuest.htm=helloGuestController
</value>
</property>
</bean>
<bean
class="com.mkyong.common.controller.WelcomeController" />
<bean
class="com.mkyong.common.controller.HelloGuestController" />
</beans>
3. Demo
Both are defined the same handler mappings.
/welcome.htm –> welcomeController./{anything}/welcome.htm –> welcomeController./helloGuest.htm –> helloGuestController.