Spring-MVC 执行流程(详解)

Spring-MVC 执行流程(详解),第1张

流程图如下:

Spring-MVC 本质上其实是一个大的Servlet帮我们做了一些集成式的处理而已

基本的执行流程:

当我们电脑发送一个请求之后它会先发送到我们前端控制器也就是DispatcherServlet也可以叫分发控制器,所以光看名字就知道它本质上就是一个Servlet当有了Servlet之后,会根据你当前的请求去处理器映射器(HandlerMapping)查询当前的Handler也就对应的Controller是哪一个,因为在一个项目里面你有可能写几十个,每一个Controller处理的请求都是不一样的,需要找到对应的Controller,当我们找到Controller后我们需要返回一个处理器的执行器链,里面有一堆的执行器链(比如:前置触发器、后置触发器呀)等,它会把这些都封装起来返回给我们的DispatcherServlet控制器当发送给DispatcherServlet之后就需要执行我们的Handler了,而执行Handler的时候,因为Controller的执行方式是不同的,所以需要通过处理器适配器(HandlerAdaptor)组件来找到Controller里面的对应方法来执行所以先去找到对应的适配器,由适配器执行再去找到里面对应的Handler执行完成之后也就是说Controller里面的业务逻辑都执行完了,这时候会返回一个ModelAndView对象(这是一个模型和数据对象),方便我们在页面上回显以及数据展示当我们返回ModelAndView后会再返回给我们的DispatcherServlet,也就是说整个环节里面所有的核心处理流程都是在DispatcherServlet里面来进行 *** 作的当返回之后DispatcherServlet里面已经有了视图以及模型了,所以要发送一个解析视图的请求由我们的ViewResolver来进行视图解析,也就是说要找到对应的JSP页面,把这些东西返回给我们的DispatcherServlet当返回之后就进行一个页面的渲染及数据的填充最后返回给用户,就能看到具体的信息了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/2990017.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存