SpringMVC(一)—- 基本概念

一、SpringMVC的概念

文章目录

    • 一、SpringMVC的概念
      • 1、三层架构
      • 2、MVC模型
      • 3、SpringMVC的定义
      • 4、SpringMVC的优势

1、三层架构

  • 表现层:WEB层,用来和客户端进行数据交互的,表现层一般采用MVC设计模式,表现层依赖于业务层
  • 业务层:处理公司的具体业务逻辑,业务层依赖于持久层
  • 持久层:用于数据库交互。

2、MVC模型

MVC的全名是Model View Controller ,是 模型视图控制器,是一种用于设计创建web应用程序表现层的模式

  • Mode

通常指的就是我们的数据模型,JavaBean的类等。作用一般情况下用于封装数据

  • View

通常指的就是我们的 jsp 或者 html。作用一般就是展示数据的。通常视图是依据模型数据创建的。

  • Controller

用来接收用户的请求,整个流程的控制器。用来进行数据校验等

3、SpringMVC的定义

SpringMVC 是一种基于 Java 的实现 MVC 设计模型的请求驱动类型的轻量级 Web 框架,属于 Spring FrameWork 的后续产品,已经融合在 Spring Web Flow 里面。。Spring 框架提供了构建 Web 应用程序的全功 能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用 Spring 进行 WEB 开发时,可以选择使用 Spring 的 Spring MVC 框架或集成其他 MVC 开发框架,如 Struts1(现在一般不用),Struts2 等。
在这里插入图片描述

4、SpringMVC的优势

  • SpringMVC是基于组件的,每个组件的功能划分非常清晰

核心(前端)控制器(DispatcherServlet)

请求到处理器映射(HandlerMapping)

处理器适配器(HandlerAdapter)

视图解析器(ViewResolver)

处理器或页面控制器(Controller)

验证器( Validator)

命令对象(Command 请求参数绑定到的对象就叫命令对象)

表单对象(Form Object 提供给表单展示和提交到的对象就叫表单对象)

  • SpringMVC和Struts2的比较

共同点:

它们都是表现层框架,都是基于MVC编写的

它们的底层都离不开原始的ServletAPI

它们处理请求的机制都是一个核心控制器、

不同点

Spring MVC 的入口是 Servlet, 而 Struts2 是 Filter

Spring MVC 是基于方法设计的,而 Struts2 是基于类,Struts2 每次执行都会创建一个动作类。所以 Spring MVC 会稍微比 Struts2 快些

Spring MVC 使用更加简洁,同时还支持 JSR303, 处理 ajax 的请求更方便