SpringMVC的实现原理

SpringMVC的结构

SpringMVC本质上还是是使用的是Servlet进行处理**,并在其基础上进行了封装简化开发流程,提高易用性,并使程序逻辑结构变得清晰。
在原始的Servlet上添加了如下的一些部分:
1.基于注解的URL映射
2. http表单参数转变
3. 全局统一异常处理
4. 拦截器的实现

SpringMVC的本质是个Servlet, 此Servlet继承HttpServlet, SpringMVC中提供了三个层次的Servlet:(1)HttpServletBean, FrameworkServlet和DispatchServlet。它们之间的关系如下图所示:
图1-1

SpringMVC请求处理过程解读:

在这里插入图片描述
(1)浏览器请求url所在的资源,前端控制器DispatcherServlet获取到请求URL,DispatcherServletd的上一层FrameworkServlet将它所有类型的请求都转发到process-Request方法。
(2)在DispatcherServlet的doDispatch方法中将webApplicationContext,FlashMaplocalResolver等设置到request属性中,然后将其请求交给doDispatch方法进行具体处理。
(3)doDispatch方法执行过程:
3-1.根据request找到Handler
3-2.根据Handler找到HandlerAdapter
3-3.用HandlerAdapter调用Handler处理请求
3-4.调用processDispathResult方法处理Handler之后的结果(处理异常和找到View并渲染给用户)
具体参照上图:
Handler , HandlerMapping 和HandlerAdapter之间的关系:
在这里插入图片描述
HandlerMapping:找到工具人
Handler:具体工作的工具人
HandlerAdapter:怎么具体使用工具人干活
得出结论:你们都懂的,嘿嘿嘿!具体组件东西多,还未总结提炼出来,后面在更新。

在这里插入图片描述

上一篇: IDEA常用快捷键使用
下一篇: spring boot集成外部tomcat容器常见问题解决方案
海贼-王路飞
博客等级 码龄10年 21粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值