架构的目的就是分层,使得职能分离。

MVC

这样的目的主要是把View和Model分离,改样式就动View层,Controller负责逻辑,也就是与V和M之间的联系。

SpringMVC

可以看到MVC分离的还不够细化,因此SpringMVC实现了把控制器分为控制层以及业务层(实际上咱现在用的基本都是SpringMVC以及SpringBoot这种)

SpringMVC:视图层调用控制层,控制层调用业务层,业务层调用数据访问层。

数据访问层:data access object(DAO),DAO就是封装实体类在数据库中增删改查的操作。

业务层:用来写业务逻辑的
对于Service,就是 Servlet 和 Dao 层之间缓冲的层。通过这一层来进行解耦,使得 Dao 层内的变化不会直接影响到 Servlet 层。

控制层:MVC中的Controller,用于处理前端页面跳转,调用业务层实现前端页面动态数据的展示。

视图层:页面展示。

JAVAEE分层模型

就是SpringMVC,除此之外多了一个DO。
Domain Object(领域对象)层

DO是从现实世界中抽象出来的有形或无形的业务实体。

说白了像一个entity对应一张表叫DO。

DAO(数据访问对象)层
DAO实现了对数据库的CRUD等常见操作。

Service(业务逻辑)层
实现了系统所需要的业务逻辑方法。

Controller(控制器)层
本层由一系列控制器组成,这些控制器用于拦截用户的请求,并调用业务逻辑组件的业务逻辑方法去处理用户请求,然后根据处理结果向不同的View组件转发。

View(表现层)层
页面展示。

分层模型图如下:

出自JAVA代码安全审计

参考文献

1.Java代码安全审计(入门篇) 徐焱

2.https://blog.csdn.net/weixin_45442296/article/details/123111903 JavaRange

3.https://blog.csdn.net/qq_43391574/article/details/110944815 落雨青石街