springmvc5的三个HandlerMapping_晏无心_新浪博客

2024-09-01 04:18

本文主要是介绍springmvc5的三个HandlerMapping_晏无心_新浪博客,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

springmvc5里有三个非抽象类的HandlerMapping:
1.SimpleUrlHandlerMapping
2.BeanNameUrlHandlerMapping
3.RequestMappingHandlerMapping(这个是最常用的)
(在springmvc4里还有一个ControllerClassNameHandlerMapping,在springmvc5里被移除了)

一一来进行分析。

1.SimpleUrlHandlerMapping
在springmvc.xml里进行配置:
springmvc5的三个HandlerMapping
有三种方式可以配置请求url和处理handler的映射(其中第一种和第三种都是对mapping进行注入,只能同时用一个)。
第一种方法对SimpleUrlHandlerMapping的属性mapping进行注入:
springmvc5的三个HandlerMapping
第二种方法对SimpleUrlHandlerMapping的属性urlMap进行注入:
springmvc5的三个HandlerMapping
第三种方法和第一种方法类似,对SimpleUrlHandlerMapping的属性mapping进行注入,采用.properties文件的方式:
springmvc5的三个HandlerMapping
springmvc5的三个HandlerMapping

springmvc5的三个HandlerMapping
接下来写Controller:
springmvc5的三个HandlerMapping
Controller必须继承AbstractController或者直接实现Controller接口。
这种方式一个Controller只能处理一个请求url,很少在实际开发中用到,属于springmvc早期版本的实现。
springmvc5的三个HandlerMapping

springmvc5的三个HandlerMapping
这样,使用SimpleUrlHandlerMapping就可以将请求URL映射到具体的处理handler,这里的一个handler就是一个Controller。

2.BeanNameUrlHandlerMapping
在springmvc.xml里进行配置:
springmvc5的三个HandlerMapping
接下来编写Controller:
springmvc5的三个HandlerMapping
Controller必须继承AbstractController或者直接实现Controller接口。
Controller的bean的名称,就是请求的URL(这里是/test1),相比较SimpleUrlHandlerMapping,省去了手动配置映射的过程,直接对handler的名称进行映射。
注意:bean的名称前必须有'/',不然无法正确映射。
这样,使用BeanNameUrlHandlerMapping就可以将请求URL映射到处理handler了。

3.RequestMappingHandlerMapping(这个是最常用的)
在springmvc.xml里进行配置:
springmvc5的三个HandlerMapping
接下来编写Controller:
springmvc5的三个HandlerMapping
Controller不需要继承基类或实现接口,需要在方法上添加@RequestMapping注解,RequestMappingHandlerMapping会在初始化时对注解进行解析,将请求映射到方法上。这里一个handler就是一个method,不再是Controller。
这样,使用RequestMappingHandlerMapping就可以将请求URL映射到处理handler了。

springmvc5的三个HandlerMapping到这里就分析完了。
HandlerMapping的作用就是将请求URL和handler进行一一映射,这个映射的动作是在编译期进行的,可以在xml里进行配置,也可以通过注解进行配置;
HandlerMapping在初始化时,会将映射关系提取存储到内存map里;
当请求到来时,根据配置的order属性值的大小,排出优先顺序,从各个HandlerMapping的map里查找到对应的handler,最终交给HandlerAdapter进行调用处理。

下一篇文章会对springmvc5的几个HandlerAdapter进行分析。

这篇关于springmvc5的三个HandlerMapping_晏无心_新浪博客的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125913

相关文章

无线路由器哪个品牌好用信号强? 口碑最好的三个路由器大比拼

《无线路由器哪个品牌好用信号强?口碑最好的三个路由器大比拼》不同品牌在信号覆盖、稳定性和易用性等方面各有特色,如何在众多选择中找到最适合自己的那款无线路由器呢?今天推荐三款路由器让你的网速起飞... 今天我们来聊聊那些让网速飞起来的路由器。在这个信息爆炸的时代,一个好路由器简直就是家庭网编程络的心脏。无论你

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst

hot100刷题第1-9题,三个专题哈希,双指针,滑动窗口

求满足条件的子数组,一般是前缀和、滑动窗口,经常结合哈希表; 区间操作元素,一般是前缀和、差分数组 数组有序,更大概率会用到二分搜索 目前已经掌握一些基本套路,重零刷起leetcode hot 100, 套路题按套路来,非套路题适当参考gpt解法。 一、梦开始的地方, 两数之和 class Solution:#注意要返回的是数组下标def twoSum(self, nums: Lis

搜狗浏览器打开CSDN博客排版错乱问题解决

之前发生过几次,不知道什么原因。 今天一直用着好好的,打开一个csdn连接,显示404,博文被删除了,于是就用百度快照打开试试,百度快照打开显示的排版很乱也没找到有用信息。 后面再浏览CSDN博客就排版错乱,显示一个大大二维码图片。 尝试删除IE缓存无效,使用谷歌浏览是好的。 基本锁定就是搜狗缓存导致的,于是找如何删除搜狗缓存   清除后恢复正常

828华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台

华为云征文|基于华为云Flexus云服务器X实例部搭建Halo博客平台 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、Halo介绍2.1 Halo 简介2.2 Halo 特点 三、本次实践介绍3.1 本次实践简介3.2 本次环境规划 四、购买华为云Flexus云服务器X实例4.

缓存的常见问题 以及解决博客文章

1.jedispool 连 redis 高并发卡死  (子非鱼yy) https://blog.csdn.net/ztx114/article/details/78291734 2. Redis安装及主从配置 https://blog.csdn.net/ztx114/article/details/78320193 3.Spring中使用RedisTemplate操作Redis(sprin

[置顶] IT牛人博客

团队技术博客 淘宝UED淘宝用户体验团队淘宝核心系统淘宝核心系统团队博客阿里巴巴数据库团队专注数据库管理开发运维淘宝通用产品专注JAVA技术淘宝QA致力于做测试的行业标准淘宝搜索技术关注技术 关注搜索量子恒道专注大数据统计百度搜索研发关注搜索相关技术EMC中国研究院关注于云计算和大数据贰号楼肆层阿里巴巴平台技术部阿里数据平台阿里巴巴数据平台百度技术分享交流百度的互联网技术编码者说腾讯滴技术团队腾

为什么你应该从现在开始就写博客---刘未鹏

(一)为什么你应该(从现在开始就)写博客 用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处。(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极大损伤一样) 让我说得更明确一点:用博客的形式来记录下你有价值的思考,会带来很多好处,却没有任何明显的坏处。Note:碎碎念不算思考、心情琐记不算思考、唠唠叨叨也不算思考、没话找话也不算思考

OOP三个基本特征:封装、继承、多态

OOP三个基本特征:封装、继承、多态 C++编程之—面向对象的三个基本特征 默认分类 2008-06-28 21:17:04 阅读12 评论1字号:大中小     面向对象的三个基本特征是:封装、继承、多态。     封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。   封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信

游戏开发者有必要写博客的6大原因

为什么你要写博客?在本文中我将分析为何写博客在游戏产业中如此有效的 6 大原因。 假设你是资深的游戏开发者、制作、发行商、二年级学生、测试者、设计师、程序员、美术师或者编曲者。你的爱好伴随着许多的技艺。每个人完成一款游戏的过程,方法都不同,这里也充满许多值得我们学习的有趣瞬间。当然你可以继续坚守自己的看法。但我还是看到了许多低调的开发者们在挣扎着。 1. 贡献 我的观点中最重要的一方面便是你