Spring MVC 学习笔记 三 handlerMapping和handlerAdapter
来源:互联网 发布:贪心算法的基本思想 编辑:程序博客网 时间:2024/05/02 06:13
HandlerMapping
Spring mvc 使用HandlerMapping来找到并保存url请求和处理函数间的mapping关系。
以DefaultAnnotationHandlerMapping为例来具体看HandlerMapping的作用
DefaultAnnotationHandlerMapping将扫描当前所有已经注册的spring beans中的@requestmapping标注以找出url 和 handler method处理函数的关系并予以关联。
Handleradapter
Spring MVC通过HandlerAdapter来实际调用处理函数。
以AnnotationMethodHandlerAdapter为例
DispatcherServlet中根据handlermapping找到对应的handler method后,首先检查当前工程中注册的所有可用的handlerAdapter,根据handlerAdapter中的supports方法找到可以使用的handlerAdapter。通过调用handlerAdapter中的handle方法来处理及准备handler method中的参数及annotation(这就是spring mvc如何将reqeust中的参数变成handle method中的输入参数的地方),最终调用实际的handle method。
detectAllHandlerMappings
缺省情况下spring mvc 将加载 当前系统中所有实现了HandlerMapping接口的bean。如果只期望spring mvc加载指定的handlermapping时,可以修改web.xml中的DispatcherServlet的初始参数,将detectAllHandlerMappings的值设置为false
此时spring mvc将查找名 为“handlerMapping”的bean并作为当前系统中唯一的handlermapping。
如果没有定义handlerMapping的话,则spring mvc将按照org.springframework.web.servlet.DispatcherServlet所在目录下的DispatcherServlet.properties中所定义的org.springframework.web.servlet.HandlerMapping的内容来加载缺省的handlerMapping(用户没有自定义Strategies的情况下)。
detectAllHandlerAdapters
作用和detectAllHandlerMappings类似,只不过作用对象为handlerAdapter。亦可通过
来强制系统只加载bean name 为” handlerAdapter”handlerAdapter。加载不到的情况下将按照DispatcherServlet.properties中所定义的org.springframework.web.servlet.HandlerAdapter的内容来加载缺省的handlerAdapter。
Spring mvc 使用HandlerMapping来找到并保存url请求和处理函数间的mapping关系。
以DefaultAnnotationHandlerMapping为例来具体看HandlerMapping的作用
DefaultAnnotationHandlerMapping将扫描当前所有已经注册的spring beans中的@requestmapping标注以找出url 和 handler method处理函数的关系并予以关联。
Handleradapter
Spring MVC通过HandlerAdapter来实际调用处理函数。
以AnnotationMethodHandlerAdapter为例
DispatcherServlet中根据handlermapping找到对应的handler method后,首先检查当前工程中注册的所有可用的handlerAdapter,根据handlerAdapter中的supports方法找到可以使用的handlerAdapter。通过调用handlerAdapter中的handle方法来处理及准备handler method中的参数及annotation(这就是spring mvc如何将reqeust中的参数变成handle method中的输入参数的地方),最终调用实际的handle method。
detectAllHandlerMappings
缺省情况下spring mvc 将加载 当前系统中所有实现了HandlerMapping接口的bean。如果只期望spring mvc加载指定的handlermapping时,可以修改web.xml中的DispatcherServlet的初始参数,将detectAllHandlerMappings的值设置为false
- <init-param>
- <param-name>detectAllHandlerMappings</param-name>
- <param-value>false</param-value>
- </init-param>
如果没有定义handlerMapping的话,则spring mvc将按照org.springframework.web.servlet.DispatcherServlet所在目录下的DispatcherServlet.properties中所定义的org.springframework.web.servlet.HandlerMapping的内容来加载缺省的handlerMapping(用户没有自定义Strategies的情况下)。
detectAllHandlerAdapters
作用和detectAllHandlerMappings类似,只不过作用对象为handlerAdapter。亦可通过
- <init-param>
- <param-name>detectAllHandlerAdapters</param-name>
- <param-value>false</param-value>
- </init-param>
0 0
- Spring MVC 学习笔记 三 handlerMapping和handlerAdapter
- Spring MVC handlerMapping和handlerAdapter
- springMVC3学习(三)--handlerMapping和handlerAdapter
- springMVC3学习(三)--handlerMapping和handlerAdapter
- SpringMVC学习(三)--handlerMapping和handlerAdapter
- springMVC3学习(三)--handlerMapping和handlerAdapter
- springMVC3学习(三)--handlerMapping和handlerAdapter
- springMVC3学习(三)--handlerMapping和handlerAdapter
- Spring MVC源码浅析(HandlerMapping和HandlerAdapter)
- springMVC3学习--handlerMapping和handlerAdapter
- Spring MVC配置及HandlerMapping/HandlerAdapter接口
- 菜鸟之路——Spring MVC(四)handlerMapping和handlerAdapter
- SpringMVC handlerMapping和handlerAdapter
- HandlerMapping和HandlerAdapter
- Spring mvc中的HandlerMapping接口以及HandlerAdapter 接口
- spring mvc HandlerMapper和HandlerAdapter
- spring学习笔记:spring mvc处理器映射(handlerMapping)
- spring学习笔记:spring mvc处理器映射(handlerMapping)
- c++_标准库类型string
- Spring MVC 学习笔记 二 spring mvc Schema-based configuration
- yii2框架的错误处理
- spring-integration-kafka集成消费者启动报错
- centos yum报错Loaded plugins: fastestmirror
- Spring MVC 学习笔记 三 handlerMapping和handlerAdapter
- 编写实现堆排序的算法。
- “全文”和“收起”实现
- C语言实现两台电脑通过串口通信
- leetcode/258. Add Digits
- hdoj 1025 Constructing Roads In JGShining's Kingdom ( LIS +二分法STL )
- iOS开发 pod install遇到的问题If none exists, create a ticket, with the template displayed above
- 曼哈顿距离最小生成树与莫队算法
- elasticsearch批量index,update,delete——Bulk Helpers