SpringMVC(一) —— 初识SpringMVC

SpringMVC是Spring的一部分,提供了前台展示相关内容,SpringMVC的底层需要用到Servlet;

MVC是一种设计模式:

  • M(model):数据,bean、dao;
  • V(View):页面,JSP;
  • C(Controller):根据请求不同,获取不同的model,返回不同的view;

用户请求数据到返回的大体流程:
在这里插入图片描述

SpringMVC运行的原理:
在这里插入图片描述
SpringMVC的具体执行流程:

  1. 用户发起请求,由前端控制器(DispatcherServlet)接收;
  2. 前端控制器请求处理器映射器(HandlerMapping)查询Handler(通过注解或者配置实现);
  3. 处理器映射器向前端控制器返回处理器执行链对象(HandlerExecutionChain);
  4. 由前端控制器请求适配器执行Handler;
  5. 由处理器执行Handler;
  6. 处理器向处理器适配器返回ModelAndView对象,ModelAndView是SpringMVC底层提供的一个对象,返回包括一个Model数据和View视图逻辑名;
  7. 处理器适配器向前端控制器返回ModelAndView对象;
  8. 由前端控制器请求视图解析器ViewResolver解析视图;
  9. 由视图解析器向前端控制器返回View对象;
  10. 由前端控制器执行渲染视图;
  11. 前端控制器向用户返回结果;

组件说明:

一、前端控制器 DispatcherServlet

作为SpringMVC的入口函数,接收用户的请求,响应结果,相当于转发器、中央处理器,是整个流程控制的核心,由它调用其他组件完成用户请求,它的存在降低了组件之间的耦合度;

二、处理器映射器 HandlerMapping

根据用户请求的URL,查找Handler,即处理器(Controller),Spring提供了不同的处理器映射器实现不同映射方式;

三、处理器适配器 HandlerAdapter

按照特定的规则取执行Handler;

四、处理器 Handler

按照处理器适配器的规则实现,其才能找到处理器,才能真正执行Handler;这个涉及到具体的业务请求,需要开发人员手动实现;

五、视图解析器 ViewResolver

进行视图解析,根据视图逻辑名解析成物理视图名即具体页面地址,再生成view的对象,最后对View对象进行渲染处理;

六、视图 View

View是一个接口,实现类支持不同的View类型(JSP、PDF),SpringMVC提供了很多View视图类型,包括jstView(JSP相关)、FreemakerView、PDFView等,这个需要开发人员自己实现;

注意:处理器 Handler、视图 View这两个需要开发人员手动实现;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章