springMVC底层实现

Spring MVC处理的流程:

image

具体执行步骤如下:

1 首先用户发送请求给前端控制器,前端控制器根据请求信息(如url)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图中的1、2步骤

2 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在spring web mvc中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;

处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图中3、4、5步骤

3 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图中的6、7步骤

4 前端控制器再次收回控制权,将响应返回给用户,图中的步骤8

Spring MVC 的运行原理

image
image

首先,用户向服务器发送请求,请求被前端控制器DispatcherServet截获

DispatcherServlet没有业务处理的能力,调用HandlerMapping处理器映射器

HandlerMapping根据xml配置和注解找到具体的Handler,并将处理器执行链(包括Handler和拦截器数组)返回给DispatcherServlet

DispatcherServlet调用HandlerAdapter处理器适配器

HandlerAdapter经过适配器调用具体的处理器(Controller,也称后端控制器)

Controller执行完返回ModleAndView

HandlerAdapter将ModleAndView返回给DispatcherServlet

DispatcherServlet将ModleAndView传给ViewReslover视图解析器

ViewReslover解析后返回具体的View

Dispatcher根据View进行视图渲染(将Modle填充至View)

DispatcherServlet响应用户

springMVC执行细节:

DispatcherServlet在执行时会加载默认的配置文件:DispatcherServlet.properties来加载相关组件

image

image.png

可以在springMVC-servlet.xml中更改配置:

    
    
        
        
    
    
    
    
    

也可以使用注解驱动来代替上面的 处理器映射器 和处理器适配器的配置:

  
    

你可能感兴趣的:(springMVC底层实现)