SpringMVC运行流程:HandlerMapper & HandlerAdapter的区别

本文探讨SpringMVC的工作流程,强调关注点分离和单一职责原则。核心组件HandlerMapping负责URL到处理器的映射,而HandlerAdapter则封装处理器的调用。在请求处理过程中,HandlerMapping确定合适的处理器,HandlerAdapter执行处理器的逻辑,两者分工明确,共同实现SpringMVC的高效运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringMVC的工作流程很重要,而在实际开发中我们会用注解进行开发,比如使用@Controller来标注控制器,使用@RequestMapping来映射URL请求到具体的处理函数,而其背后的运行流程其实更加重要。SpringMVC的设计体现出软件开发中非常重要的架构设计原则的应用:“关注点分离”和”单一职责“。

在复习SpringMVC的运行流程时,对HandlerMapperHandlerAdapter的职能产生了疑惑,这里对两者的区别做一个记录。未来有机会再补上SpringMVC的完整运行流程。

在这里插入图片描述

HandlerMapper & HandlerAdapter的区别:

HandlerMapper抽象了请求URL到请求处理器之间的映射,而HandlerAdapter用于封装对请求处理器的真正调用。打个比方讲,当某个客户请求到达时,DispatcherServlet会询问HandlerMapper哪个请求处理器能处理,然后找到支持该请求处理器的HandlerAdapter,然后将该请求处理器的调用交给该HandlerAdapter完成。这个例子简单地描述了DispatcherServlet处理请求工作的主流程,可以看出,DispatcherServlet所做的事情很简单,可以认为仅仅是一个主流程,而无需关心底层细节。而这里面很重要的两个底层细节: 请求到请求处理器的映射关系,请求处理器如何处理请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值