Spring MVC

Spring MVC

  • Spring MVC介绍
  • Spring MVC框架
    • Spring MVC的运行原理
    • Spring MVC 中各组件的介绍
      • 前端控制器(DispatchServlet)
      • 处理器映射器(HandlerMapping)
      • 处理器适配器(HandlerAdapter)
      • 处理器(Handler)
      • 视图解析器(View Resolver)
      • 视图(View)

Spring MVC介绍

JavaEE体系结构包括四层,从上到下分别是应用层、Web层、业务层、持久层。Struts和SpringMVC是Web层的框架,Spring是业务层的框架,Hibernate和MyBatis是持久层的框架。
SpringMVC是一种基于Java,实现了Web MVC设计模式,请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将Web层进行职责解耦。基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringMVC也是要简化我们日常Web开发。

Spring MVC框架

Spring MVC_第1张图片
SpringMVC是属于Spring的一个模块
SpringMVC和Spring无需通过中间整合增进行整合
Spring是一个基于MVC的web框架

Spring MVC的运行原理

Spring MVC_第2张图片
SPringMVC运行的步骤:
第一步:用户发起请求(URL),请求request到前端控制器:DispatchServlet
第二步:前端控制器请求处理器映射器:HardlerMapping查找Handler,可以通过注解,xml配置来进行查找
第三步:处理器映射器向前端控制器来响应结果,返回的是处理器执行链HandlerExecutionChain,包含一个Handler处理器对象和多个HandlerInterceptor对象
第四步:由前端控制器请求处理器适配器:请求执行Handler
第五步:处理器适配器找到真正执行的处理器:Handler
第六步:处理器返回给处理器适配器:返回一个ModelAndView的对象,该对象的底层是包含View和Model:Model就是响应该请求的数据,View是的逻辑视图名
第七步:处理器适配器响应前端控制器,返回ModelAndView的对象
第八步:由前端控制器来请求视图解析器:ViewResolver,视图解析器负责将逻辑视图名解析为具体的视图View(jsp,pdf,freeemark…)
第九步:视图解析器向前端控制器返回View
第十步:将前端控制器将数据渲染到页面View上
第十一步:将填充好的页面响应该用户

Spring MVC 中各组件的介绍

前端控制器(DispatchServlet)

不需要开发,由框架来提供
用户的请求首先到达前端控制器,最终响应也是有前端控制器完成的,是用户请求的入口
在各个组件间完成数据的转发,由前端控制器的存在减少了其他组件间的耦合性
前端控制器相当于是控制中心

处理器映射器(HandlerMapping)

不需要开发,由框架提供
根据URL来查找Handler
HandlerMapping的职责就是根据URL来查找到具体执行的Handler,即处理器(Controller)
Spring MVC中对于映射器的处理有不同的映射方式,配置文件映射,注解进行映射,Java代码进行映射

处理器适配器(HandlerAdapter)

不需要开发,由框架提供
按照特定的规则去找到具体执行的执行器
使用适配器模式来进行适配找执行器

处理器(Handler)

需要进行开发
编写Handler是需要按照适配器提供的规则进行开发,这样适配器才能找到处理器
Handler在代码上即实现的Controller层的对应的具体的方法入口

视图解析器(View Resolver)

不需要开发,由框架来提供
进行视图解析,根据逻辑视图名来查找到真正的视图
(View),将负责梳理结果生成View视图
根据逻辑视图名解析找到物理逻辑视图名即具体的视图地址,
完成数据的渲染,将最终渲染后的页面响应给用户

视图(View)

需要开发
最终展示给用户的页面
View是一个接口,不同的类型的页面即作为该接口的实现类
实现类(jsp、pdf、freemaker…)

你可能感兴趣的:(spring,mvc)