Springmvc HandleMapping和HandleAdapter

一、HandleMapping:处理器映射

           1.作用:找到请求和处理函数之间的映射关系

           2.几种HandleMapping介绍:

                    1.非注解的HandleMapping

                              Spring2.5之前不支持注解处理器,所有处理器均实现接口重写方法,这一阶段使用如下三种HandleMapping,均实现org.springframework.web.servlet.HandleMapping接口:

                                    1.BeanNameUrlHandleMapping:

                                           DispatcherServlet默认的HandleMapping;会交给与url名字相同的控制器bean去处理该请求;

                                    2.SimpleUrlHandleMapping:

                                           直接将URL映射到控制器,必须显示定义该HandleMapping:

<bean id="simpleUrlMapping" class="org.springframework.web.servlet.handle.SimpleUrlHandlerMapping">
<property name="mappings">

/*props中定义映射关系*/
<props>

/*prop key属性写url 标签间写映射的控制器bean*/
<prop key="/listCourses.go">listCoursesController</prop>
<prop key="/login.go">loginController</prop>
</props>
</property>
</bean>

                                    3.ControllerClassNameMapping:

                                              通过控制器的类名进行映射,访问时类名首字母需要小写。需要加入.do 如请求为Skr.do 则交给类名为Skr的控制器控制;

                      2.基于注解的HandleMapping

                                  spring2.5之后,支持使用注解控制器,在配置文件中使用注解驱动标签:<mvc:annotation-drivern>标签可自动注册注解映射器和注解适配器:

二、HandleAdapter:处理器适配

           1.作用:Spring MVC 通过HandlerAdapter来实际调用处理函数

               举例:
                        AnnotationMethodHandlerAdapter:DispatcherServlet中根据handlermapping找到对应的handler method后,首先检查当前工程中注册的所有可用的handlerAdapter,根据handlerAdapter中的supports方法找到可以使用的handlerAdapter。通过调用handlerAdapter中的handle方法来处理及准备handler method中的参数及annotation(这就是spring mvc如何将reqeust中的参数变成handle method中的输入参数的地方),最终调用实际的handle method。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值