前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringMVC--处理器映射器和处理器适配器笔记

SpringMVC--处理器映射器和处理器适配器笔记

作者头像
SuperHeroes
发布2018-05-30 18:18:32
2.2K0
发布2018-05-30 18:18:32
举报
文章被收录于专栏:云霄雨霁云霄雨霁

非注解的处理器映射器和适配器 处理器映射器:  BeanNameUrlHandlerMapping: 上面讲过 SimpleUrlHandlerMapping: <!--简单url映射--> <bean class="SimpleUrlHandlerMapping的全限定类名">     <property>         <props>             <!--对itemsController_01进行url映射,url是key属性的值-->             <prop key="/queryItem1_action">itemsController_01</props>             <prop key="/queryItem2_action">itemsController_01</props>         </props>     </property> </bean> 多个映射器可以并存,前端控制器判断url能让哪些映射器映射,就让正确的映射器处理。 处理器适配器: SimpleControllerHandlerAdapter:上面讲过,要求编写的Handler要实现Controller接口 HttpRequestHandlerAdapter:要求编写的Handler实现HttpRequestHandler接口。 多个适配器可以并存。

前端控制器从DispatcherServlet.properties中加载处理器映射器、适配器、视图解析器等。如果不在springmvc中配置,则使用默认加载的。

注解的处理器映射器和适配器 处理器映射器: spring3.1之前:DefaultAnnotationHandlerMapping spring3.1之后:RequestMappingHandlerMapping

处理器适配器: spring3.1之前:AnnntationMethodHandlerAdapter spring3.1之后:RequestMappingHandlerAdapter

配置: <!--注解映射器--> <bean class="上面相应类的全限定名"/> <!--注解适配器--> <bean class="上面相应类的全限定名"/> <!-- 使用mvc:annotation-driven代替上边注解映射器和注解适配器 mvc:annotation-driven默认加载很多的参数绑定方法,比如json转换解析器。 实际开发中使用mvc:annotation-driven --> <mvc:annotation-driven></mvc;annotation-driven>

开发注解Handler: 使用注解的映射器和适配器。(必须配对使用) 使用注解开发不需要实现相应的接口(如基于配置文件则需要实现Controller接口) @Controller:类上使用该注解即可。 @RequestMapping(value="/queryItems",method={RequestMethod.POST,RequestMethod.GET}): 作用: 1、对url和Handler的方法进行映射; 2、可以窄化请求映射,设置Handler的根路径,url就是根路径+子路径请求方式; 3、可以限制http请求的方式; 映射成功后,springmvc框架生成一个Handler对象,对象中只包括一个映射成功的method.

对于注解的Handler可以单个配置,实际开发中建议使用组件扫描 单个配置:<bean class="ItemsController_01">  注意这里就不需要id了 组建扫描:<context:component-scan base-package="要扫描的包名"></context:component-scan>

通过前端控制器源码分析springmvc执行过程: 1、前端控制器接收请求; 2、前端控制器调用处理器映射器查找Handler; 3、调用处理器适配器去执行Handler,得到执行结果ModelAndView; 4、视图渲染,将model数据填充到request域;

springmvc和struts2的区别: springmvc是面向方法的,struts2是面向类的; springmvc可以单例开发,struts2只能说多例开发;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档