1、SpringMVC简介
SpringMVC是Spring框架的一个模块。SpringMVC和Spring无需通过中间层进行整合。是一个轻量级的,基于请求响应的MVC框架。
2.1、什么是MVC?
mvc是一个设计模式,下图为MVC在 B/S 系统下的具体应用:
**控制器:例如struts2中的filter,struts1中没有filter
2.2、MVC框架要做哪些事情
1、将 URL 映射到 java 类或 java 类的方法中。
2、封装用户提交的数据
3、处理请求——调度相关的业务逻辑进行处理——封装响应的数据
4、将响应的数据进行渲染,jsp、htm、freemarker等
2.3、SpringMVC 组件
(1)前端控制器 DIspatcherServlet,作用:接受请求,响应结果(相当于转发器,中央处理器)
有了 DIspatcherServlet,就减少了其他组件之间的耦合性。
(2)处理器映射器 HandlerMapping,作用:根据请求的URL查找 Handler (Xml配置 和 注解配置)
(3)处理器适配器 HandlerAdapter,作用:按照特定的规则(HandlerAdapter要求的规则)去执行 Handler
(4)处理器 Handler(需要程序员开发),编写 Handler 时按照 HandlerAdapter 的要求去做,这样适配器才可以正确执行 Handler
(5)视图解析器 View Resolver,作用:进行视图解析,根据逻辑视图解析成真正的视图(SpringMVC中的View)
(6)视图 View(需要程序员开发 jsp),View是一个接口,实现类支持不同的 View 类型(jsp,freemarker、pdf.....)
2.4、SpringMVC的工作原理图:
2.5、SpringMVC工作原理文字解释:
第一步:发起请求到 前端控制器(DIspatcherServlet)
第二步:前端控制器 请求 HandlerMapping 查找 Handler(可以根据 xml 配置、注解进行查找)
第三步:处理器映射器 HandlerMapping 向前端控制器返回 包含Handler的 执行链(HandlerExecutionChain)。
第四步:前端控制器 调用 处理器适配器 去执行 Handler
第五步:处理器适配器去执行 Handler
第六步:Handler 执行完成给 处理器适配器 返回 ModelAndView
第七步:处理器适配器 向 前端控制器 返回 ModelAndView(ModelAndView 是 SpringMVC 框架的一个底层对象,包括了 Model 和 View)
第八步:前端控制器 去请求 视图解析器 去进行视图解析(根据逻辑视图名解析成真正的视图——jsp)
第九步:视图解析器 向 前端控制器 返回 View
第十步:前端控制器 进行 视图渲染(将模型数据<在 ModelAndView 对象中>填充到 request 域)
第 十 一 步:前端控制器 向用户响应结果