SSM介绍与概要

环境:

  1. IDEA 2020.2
  2. MySQL 5.7.19
  3. Tomcat 9
  4. Maven 3.6

SSM概要

SSM即为SpringMVC+Spring+Mybatis的简称

web分层设计

在企业级Web项目开发中,标准的三层架构包括:表现层、业务层、数据访问层(持
久层)。三层架构中,每一层各司其职,其中:

  • 表现层:即UI层,负责接收客户端请求,并向客户端返回结果。
  • 业务层:即Service 层或BLL(Business logic level)。它负责业务逻辑处理,和
    开发项目的需求息息相关。
  • 数据访问层(持久层):也就是 Dao/Mapper 层。主要负责数据持久化,业务层需
    要通过数据访问层将数据持久化到数据库中。

一个通用的三层架构模型如下图所示:
在这里插入图片描述
在三层架构中,常用的框架工具如下图所示:
在这里插入图片描述
springMvc其实底层就是封装得servlet,我们平时主要写的只有业务层的代码,数据访问层这些在前期配置后写完后面就一劳永逸了,加之有mybatis-plus让访问层开发更简单。

MVC模型

MVC 是一种软件架构模式,是当前的流行的 Web 应用架构技术,被广泛应用于企
业级 Web 应用的开发中。
它把 Web 应用划分成三部分,它们分别完成不同的功能以实现 Web 应用:

  • 模型(Model)
  • 控制器(Controller)
  • 视图(View)

软件设计思想演变,一开始由Trygve Reenskaug教授提出,主要思想有:

  • 重写任何系统的能力
  • 模块化、可插入的透明子系统的存在
  • 每个系统的细分
  • 系统的可伸缩性

1979 年 Trygve 教授进一步提炼思想,提出了 MVC 模式。1988 年,在《A cookbook
for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80》一书中正
式提出 MVC 模式。

MVC 中三部分的定义如下:

  • 视图(View):视图是应用程序中显示用户界面(UI)的组件,随着应用程序的复
    杂性和规模性,界面的处理也变得复杂,一个应用可能有很多不同的视图。MVC 对视图
    的处理仅仅限于视图上数据的采集和处理,不包括业务流程的处理。
  • 控制器(Controller):控制器是处理用户交互的组件,它与模型协作,并且最终
    选择一个要呈现的视图来显示用户界面。理论上,在 MVC 应用程序中,控制器不做任
    何数据的处理,只负责处理并且响应用户输入和交互。
  • 模型(Model):模型就是业务流程/状态的处理及业务规则的制定。模型接受视图
    请求的数据,并返回最终的处理结果,业务模型的设计是 MVC 最主要的核心。

MVC web程序的工作流程如下图:
在这里插入图片描述

优点:

  • 将应用程序分为模型、视图和控制器,在管理复杂性方面更加的简单
    对于那些由大型开发者和设计者所支持的 Web 应用程序来说,它运作得很好,
    能够对应用程序的行为提供更高层次的控制。
  • 可以为模型在运行时建立和使用多个视图,从而使所有关联的视图和
    控制器做到同步更新
  • 视图和控制器可接插性,允许更换视图和控制器对象,可以根据需
    动态地打开或关闭,甚至在运行期间进行对象更换。
  • 模型的可移植性。模型独立于视图,所以可以把模型独立地移植到新
    的平台工作,只需要对控制器和视图进行修改。

SpringMVC

Java早期的MVC模型主要使用Servlet组件,使用流程:

  1. 用户的请求首先到达Servlet
  2. Servlet作为控制器接收请求,然后调度 Java Bean,来读写数据库的数据
  3. 最后将结果放到 jsp中展现给用户。

缺陷:Servlet 组件功能有限,而且与 jsp 的耦合度过高,使得基于Servlet 组件的 MVC 架构开发不便。

springMvc处理流程图:
在这里插入图片描述

springmvc核心组件

  • DispatcherServlet:前端控制器,不需要程序员开发,但是需要在 WEB.xml
    配置。 用户请求到达前端控制器,首先被 DispatcherServlet 拦截,它是
    整个流程控制的中心,由它调用其它组件处理用户的请求。 DispatcherServlet
    的存在降低了组件之间的耦合度。
  • HandlerMapping:处理器映射器,不需要程序员开发。 HandlerMapping 负
    责根据用户请求找到 Handler 即处理器。SpringMVC 提供了不同的映射器
    实现不同的映射方式,例如:配置文件方式,注解方式等。
  • Handler(即 Controller):处理器(控制器),需要程序员开发。它就是在
    开发中要编写的具体业务控制器。实际运行中,由 DispatcherServlet 把
    用户请求转发给某个 Handler,再由 Handler 对具体的用户请求进行处理。
  • HandlAdapter:处理器适配器,不需要程序员开发。通过 HandlerAdapter
    对处理器进行执行,按照特定规则(HandlerAdapter 要求的规则)去执行
    Handler(Controller)。
  • View Resolver:视图解析器,不需要程序员开发,需要配置。View Resolver
    负责将处理结果生成 View 视图。它首先把逻辑视图名解析成物理视图名,
    即具体的页面地址,再生成 View 视图对象,最后对 View 进行渲染及处 理,通过
    页面展示给用户。
  • View:视图(页面),需要程序员开发。SpringMVC 框架提供了很多的对
    View 视图类型的支持,包括: jstlView、freemarkerView、pdfView 等。
    一般情况下需要通过页面标签或页面模版技术将模型数据通过页面展示给
    用户,需要由程序员根据业务需求开发具体的页面。
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值