SpringMVC的执行过程

     

       

        看图理解过程:

        1、用户发送请求 到 前端控制器DispatcherServlet

提示:DispatcherServlet的作用:接收请求,调用其他组件处理请求,响应结果,相当于转发器、中央处理器,是整个流程控制的中心。

   2、前端控制器DispatcherServlet接收到请求后调用处理器映射器HandlerMapping:

处理器映射器HandlerMapping,查找处理器(Handler)。

      3、处理器映射器(HandlerMapping),根据xml配置、注解自行查找对应的具体处理器Handler,然后生成了处理器对象及处理器拦截器,一并返回给DispatcherServlet

        4、前端控制器DispatcherServlet根据返回内容,调用处理器适配器HandlerAdapter

        5、处理器适配器HandlerAdapter去调用自定义处理器类(即到具体的Controller类)。

        6、在MVC模式下,一般Controller层根据实际需求,调用service层,Service根据需求调用DAODAO进行数据库访问DB(增删改查),DB数据库返回操作结果给DAO,DAO返回处理结果给Service,Service返回结果给Controller,最终从自定义处理器中获取到返回结果,Controller类会把这个结果返回处理器适配器HandlerAdapter

     

        7、处理器适配器HanderAdapter将该结果生成一个ModelAndView(模型视图)对象返回给前端控制器Dispatcher Servlet

        8、前端控制器DispatcherServletModelAndView传给视图解析器ViewReslover

        9、视图解析器ViewReslover将得到的参数从逻辑视图转为物理视图,并返回给前端控制器DispatcherServlet。

        10、前端控制器DispatcherServlet调用物理视图进行渲染并返回。

        11、前端控制器DispatcherServlet渲染完成后,即展示回前端页面。

        注:SpringMVC的执行流程,涉及到的是具体的底层代码逻辑,因为存在很多概念以及底层知识点其实我个人是不太理解的,例如处理器映射器是如何从配置中或者注解中得到一个映射结果,追寻至对应自定义的handler处理器类(也就是如果追寻至controller)等等,记录这个文章是因为在面试的时候许多面试官会问,而且在实际开发中,大部分情况下不会去思考或利用到这个知识点,就可能会很难理解。

        个人还是比较建议有机会以及累积到一定的程度,去看下底层源码,尝试读懂会比较好理解。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值