SpringMVC的实现原理和运行原理流程说明区别:
搜了很多的SpringMVC的实现原理,发现其实都是说的运行原理的流程说明,如果别人问到你SpringMVC的实现原理该怎么回答呢? 如下:
SpringMVC的实现原理:
1.客户端发送请求到前端控制器(DispatcherServlet)。
2.前端控制器(DispatcherServlet)查询handlerMapping找到处理请求的Controller(也可以说是前端控制器发送用户请求的url到处理器映射器和处理器适配器,然后得到处理请求的Controller)。
3.Controller调用相关业务逻辑后,返回一个ModelAndView给前端控制器。
4.前端控制器(DispatcherServlet)查询解析ModelAndView,找到相应视图。
5.前端控制器(DispatcherServlet)将视图进行渲染,返回给客户端。
SpringMVC运行原理的流程说明
1、发起请求到前端控制器DispatcherServlet,处理请求,但不执行具体操作(model层)。
2、前端控制DispatcherServlet请求HandlerMapping查找Handler,(XML配置或注解)。
3、处理器映射器HandlerMapping向前端控制器返回handler执行链。
4、前端控制器调用处理器适配器去执行handler。
5、处理器适配器执行handler。
6、handler执行完成后返回给处理器适配器ModelAndView(SpringMVC框架的一个底层对象,包括model、view)。
7、处理器适配器向前端控制器返回ModelAndView。
8、前端控制器请求视图解析器去进行视图解析,根据逻辑视图名解析成真正的视图(jsp)。
9、视图解析器向前端控制器返回view。
10、前端控制器进行视图渲染,将模型数据(在ModelAndView)填充到request域中。
11、前端控制器向用户响应结果。