当spring接到客户请求时,会根据handlermapping决定将请求分给哪个controller处理。
spring提供了许多handlermapping的实现,如果没有在配置文件中写明,默认使用BeanNameUrlHandlerMapping,这个实现是以url作为bean的name寻找controller的,配置文件类似下面
<bean id="beanNameUrlHandlerMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
</bean>
<bean id="/helloWorld.do" class="action.HelloWorldController"></bean>2 SimpleUrlHandlerMapping实现,类似配置如下
<bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/helloWorld.do">helloWorldController</prop>
</props>
</property>
</bean>
<bean id="helloWorldController" class="action.HelloWorldController"></bean>可以配置多个<prop key="/helloWorld.do">helloWorldController</prop>,每个value对应一个controller的bean
以上两种为常用的handlermapping的实现。
本文介绍了Spring MVC中处理客户端请求的两种主要方式:BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping。前者通过URL作为bean的名字来定位控制器,后者则通过配置映射关系来决定请求与控制器之间的对应。
1100





