一、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 的请求更方便