什么是SpringMVC,SpringMVC有什么优缺点

目录标题

    • 服务端三层架构
    • MVC模型
    • SpringMVC 是什么
    • SpringMVC 的优势
    • SpringMVC 的缺点

服务端三层架构

我们的开发架构一般都是基于两种形式,一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器。在 JavaEE(企业) 开发中,几乎全都是基于 B/S 架构的开发。那么在 B/S 架构中,系统标准的三层架构包括:表现层、业务层、持久层。
表现层:
  也就是我们常说的web层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web 层,web 需要接收 http 请求,完成 http 响应。
  表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。
  表现层的设计一般都使用 MVC 模型。(MVC 是表现层的设计模型,和其他层没有关系
业务层:
  也就是我们常说的 service 层。它负责业务逻辑处理,和我们开发项目的需求息息相关。web 层依赖业务层,但是业务层不依赖 web 层。
持久层:
  也就是我们是常说的 dao 层。负责数据持久化,包括数据层即数据库和数据访问层,持久层就是和数据库交互,对数据库表进行曾删改查的。

MVC模型

MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写
Model(模型):
  通常指的就是我们的数据模型。作用一般情况下用于封装数据。
View(视图):
  通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。
  通常视图是依据模型数据创建的。
Controller(控制器):
  是应用程序中处理用户交互的部分。作用一般就是处理程序逻辑的。
  当前台传参服务端在接参数的时候也会对类型校验,如果校验失败,由控制器把错误页面展示给使用者,如果成功控制器负责把数据填充到模型,然后调用业务层执行业务层代码。

SpringMVC 是什么

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于
Spring FrameWork的后续产品,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring的 Spring MVC 框架或集成其他 MVC 开发框架,如 Struts1(现在一般不用),Struts2 等。

SpringMVC 的优势

(1)强大的 JSP 标签库,使 JSP 编写更容易。支持各种视图技术,而不仅仅局限于JSP;
(2)和 Spring 其他框架无缝集成,是其它 Web 框架所不具备的。
(3)清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)。
(4) 支持各种请求资源的映射策略。并且支持RESTful 编程风格的请求。

SpringMVC 的缺点

(1) Spring与MVC 的Servlet API 耦合,难以脱离容器独立运行
(2) 太过于细分,开发效率低
(3) 原理不容易理解。

你可能感兴趣的:(#,SpringMVC,java)