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

2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。

3、 处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet

4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

5、执行处理器(Controller,也叫后端控制器)

6、Controller执行完成返回ModelAndView

7、 HandlerAdaptercontroller执行结果ModelAndView返回给DispatcherServlet

8、 DispatcherServletModelAndView传给ViewReslover视图解析器

9、 ViewReslover解析后返回具体View

10、DispatcherServletView进行渲染视图(即将模型数据填充至视图中)。

11、DispatcherServlet响应用户




举例说明:

List<Items> list = itemsService.findItemsList();
//模型和视图:模型中放了返回给页面的数据,视图中放了页面的地址
ModelAndView modelAndView = new ModelAndView();
//将数据放入到model中        //model中的值
modelAndView.addObject("itemList",list);
//将页面地址放入到view中       //要跳转的页面
modelAndView.setViewName("itemList");
return modelAndView;


ModelAndView 存储的是model数据模型和页面地址链接,经过视图解析器解析完后,返回view找的具体要跳转的页面。而转发和重定向都能够将model数据带到view页面中.

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐