目录
1.引入
$$ Spring与Spring MVC的区别
SSM 包含三部分:
- Spring MVC
- Spring
- Mybatis
SSM就是升级版的Servlet。
Servlet有哪些功能?
- 通过JDBC与数据库进行交互
- 和页面进行交互
- 业务层(一般不用Servlet做业务,业务层目前在我的项目中是缺失的。我用的是反射/代理)
SSM是对这些进行了升级。
- 和页面进行交互是通过使用Spring MVC。
- 业务层:本质还是用反射,只是用Spring框架做的,AOP与业务相关,面向切面编程
- 和数据库通过Mybatis
2. Java web的发展史
Model I 和Model II
*1. Model I开发模式
Model1的开发模式是:JSP+JavaBean的模式,它的核心是Jsp页面,在这个页面中,Jsp页面负责整合页面和JavaBean(业务逻辑),而且渲染页面,它的基本流程如下:
这样的设计模式到这一个jsp页面负责了视图的展示和业务流程的控制高度耦合的结果是Jsp代码十分复杂,后期维护困难!
*2. Model II开发模式
在Model II的模式下。利用jsp页面、servlet和JavaBean组件分工协作共同完成系统的所有任务。其中jsp负责数据显示逻辑任务,servlet负责程序的流程控制任务,JavaBean负责处理业务逻辑任务。它的基本流程如下:
Model2:相对于Model1来说,职责分工更为明确,在Model1的基础上,抽取了Servlet层,体现了一个分层的思想,适合大型的项目开发!(当时的评判标准是适合大型项目开发的,现在看起来已经过时了!)
3. MVC模式
Spring mvc是基于Spring的一个模块,专门做web开发,可以理解为是Servlet的升级。
在Spring MVC框架当中,
Controller
替代Servlet担负控制器的职能,
M:指model:模型层,指工程当中的Java Bean, 作用是
处理数据
Java Bean分两类:
- 一类是实体类Bean:专门存储业务数据的
- 一类为业务处理Bean:指Servlet或Dao对象,专门处理业务逻辑和数据
V:View, 视图层指项目当中的html或jsp等页面,作用是
与用户进程交互
,展示数据。
C:Contoller, 控制层,指工程当中的servlet,作用是
接受请求和响应数据
MVC思想不是那个语言所特有的设计模式,也不是web应用所特有的思想,而是一种规范。MVC思想将一个应用分成三个基本部分:Model (模型) 、View (视图) 和 Controller (控制器),这三个部分以最少的耦合协同工作,从而提高了应用的可扩展性和可维护性。他们三者的关系如下图所示
2. 三层架构
-
咱们开发服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序
-
使用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构
-
三层架构
- 表现层:WEB层,用来和客户端进行数据交互的。表现层一般会采用MVC的设计模型
- 业务层:处理公司具体的业务逻辑的
- 持久层:用来操作数据库的