组件
SpringMVC的原理主要基于它的各个组件之间的相互协作交互,从而实现了Web请求的接收,处理和响应。
它的组件有如下几个:
DispatcherServlet前端控制器
HandlerMapping处理器映射器
Controller处理器
ModelAndView
ViewResolver视图解析器
View视图
工作流程
1. 客户端发送请求 客户端会向服务端发送一个HTTP请求,请求中包括URL地址和请求方法(GET或者POST等)。
2. DispatcherServlet接收请求 所有请求都会到达DispatcherServlet。
3. HandlerMapping寻找处理器 请求被DispatchServlet接收后,它会查找一个HandlerMapping组件,利用它根据请求URL地址和请求方法找到对应的处理器(controller)。
4. Controller处理请求 找到对应的处理器后,DispatcherServlet将请求转发给controller来进行处理。controller会执行响应的业务逻辑,并且返回一个ModelAndView对象。这个对象包含了视图逻辑名和模型数据。
5. ViewResolver解析视图 DispatcherServlet会使用一个叫做ViewResolver的组件来解析ModelAndView中的视图逻辑名。ViewResolver会找到视图实现类(view对象)。
6. 渲染视图 view对象会使用ModelAndView中的模型数据来对视图进行渲染。
7. 返回响应给客户端 DispatcherServlet会将View对象渲染后的响应数据返回给客户端。