映射器Mapping【什么样的请求交给Action】
1) org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping(核心)
将程序员定义的Action所对应的<bean>标签的name属性作为请求路径
<!-- 注册控制器(程序员) -->
<bean name="/add.action" class="cn.lfsenior.javaee.springmvc.mapping.UserAction"></bean>
<!-- 注册映射器(handler包)(框架) -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>
*可以省略,不配置到xml文件中
2) org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
/delete.action和/update.action和/find.action请求路径都交由<bean>标签为id的Action,即
多个路径对应同一个Action
<!-- 注册控制器(程序员) -->
<bean id="userActionID" class="cn.lfsenior.javaee.springmvc.mapping.UserAction"></bean>
<!-- 注册映射器(handler包)(框架) -->
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/delete.action">userActionID</prop>
<prop key="/update.action">userActionID</prop>
<prop key="/find.action">userActionID</prop>
</props>
</property>
</bean>
当然我们也可以使用BeanNameURLHandlerMapping的方式将多个请求对应一个action
<!-- 注册控制器(程序员) -->
<bean name="/add.action" class="cn.lfsenior.javaee.springmvc.mapping.UserAction"></bean>
<bean name="/delete.action" class="cn.lfsenior.javaee.springmvc.mapping.UserAction"></bean>
<bean name="/update.action" class="cn.lfsenior.javaee.springmvc.mapping.UserAction"></bean>
<bean name="/find.action" class="cn.lfsenior.javaee.springmvc.mapping.UserAction"></bean>
<!-- 注册映射器(handler包)(框架)可省 -->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean>