1. SpringMVC的主要组件

  • DispatchServlet:前端控制器,接收请求,响应结果,返回可以是json,String等数据类型,也可以是页面(Model)
  • HandlerMapping:处理器映射器,根据URL去查找处理器,一般通过xml配置或者注解进行查找
  • Handler:处理器,即Controller控制器,由我们程序员编写
  • HandlerAdapter:处理器适配器,可以将处理器包装成适配器,这样就可以支持多种类型的处理器
  • ViewResolver:视图解析器,进行视图解析,返回view对象(常见的有JSP,FreeMark等)

2. SpringMVC的工作原理

在这里插入图片描述

  1. 用户向服务器发送请求,请求被 SpringMVC 前端控制器DispatchServlet 捕获
  2. DispatcherServle 对请求 URL 进行解析,得到请求资源标识符(URL),然后根据该 URL 调用 HandlerMapping
    将请求映射到处理器 HandlerExcutionChain
  3. DispatchServlet 根据获得 Handler 选择一个合适的 HandlerAdapter 适配器处理;
  4. Handler 对数据处理完成以后将返回一个 ModelAndView() 对象给 DisPatchServlet;
  5. Handler 返回的 ModelAndView()只是一个逻辑视图并不是一个正式的视图,DispatcherSevlet 通过 ViewResolver 试图解析器将逻辑视图转化为真正的视图View;
  6. DispatcherServle 通过model 解析出 ModelAndView() 中的参数进行解析最终展现出完整的 view 并返回给
    客户端

一个好奇的人