javaEE分层模型和MVC架构知识点汇总

1.javaEE分层模型

​ javaEE的分层模型主要分为以下5层:

​ (1)Domain Object(领域对象)层:本层由一些列POJO(Plain Old java Object ,普通的java对象)组成,这些对象是该系统的Domain Object,通常包含各自所需实现的业务逻辑方法。

​ (2)DAO(Data Access Object,数据访问对象)层:本层由一系列DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除等操作。

​ (3)Service(业务逻辑)层:本层由一些列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。

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

​ (5)view(表现)层:本层由一些列的页面及视图组件组成,负责收集用户请求,并显示处理后的结果。

**javaEE分层模型的联系:**

首先由数据库给Domain Object层提供持久化服务,然后由Domain Object层去封装DAO层,DAO层为业务逻辑层提供数据访问服务,业务逻辑层为控制器层给予逻辑支持,最终在表现层显示结果。

javaEE分层模型的应用,使得项目易于维护,简化管理,并且使用大规模和复杂的应用需求以及不断变化的业务需求,此外,分层模型还能有效提高系统并发处理能力。

2.MVC架构

在对某一项执行代码审计时,需要从其输入、处理和输出来升级漏洞、遵循MVC思想。

**MVC(Model-View-Controller)是一个架构模型,它强制性的使用应用程序的输入、处理和输出分开。使用MVC架构的程序被分成三个核心部件:模型、视图、控制器、他们各自处理自己的任务。**

以下是模型、视图、控制器的概念:

​ 1.视图:视图是用户看到并与之交互的前端界面;

​ 2.模型:模型表示企业数据(数据模型------数据库交互代码:dao)和业务规划及操作(业务模型------业务逻辑处理代码:service);

​ 3.控制器:控制器表示用户的输入并调用模型和视图去完成用户的需求。

目前一个web程序的结构为:视图层、控制层、业务逻辑层、数据库访问层。

当下流行的mvc组件有:Spring MVC、JSP、Struts。

3.java架构模式中,将MVC架构模型抽象为如下结构

​ **view层**。view层及UI层,可采用的技术如:JSP、Structs、SpringMVC等

​ **Controller层**。Controller表示控制器层,可采用的技术,如Servlet/Filter,Spring等

​ Service层。Service层表示核心服务层,向架构上层提供服务。

​ DAO层。DAO层表示数据访问层,可采用技术如jdbc和ORM框架(Spring JDBC等)

​ Model层。Model层即表示JavaBean对象

​ Utilities层。Utilities层表示公共工具层。

4、MVC处理过程

​ MVC的处理过程也很容易理解,首先是Controller层接收用户请求,然后决定应该调用那个Model来处理,再由Model使用逻辑处理用户的请求并返回数据,最后返回的数据通过view层呈现给用户。

引入MVC架构的好处:MVC的模式使得视图层和业务层分离,以便更改View层代码时,不用重新编译Model和Controller代码,同样,当某个应用的业务流程或者业务规则发生改变时,只需改动Model层即可实现需求。此外,MVC模式使得WEB应用更易于维护和修改,有利于通过工程化、工具化管理应用程序代码。

相关推荐
乌暮3 小时前
JavaEE初阶---线程安全问题
java·java-ee
精神病不行计算机不上班17 小时前
[Java Web]Java Servlet基础
java·前端·servlet·html·mvc·web·session
码界奇点17 小时前
基于Spring MVC与AngularJS的API接口管理系统设计与实现
spring·毕业设计·yapi·mvc·angular.js·源代码管理
世洋Blog18 小时前
数据驱动与MVC
unity·mvc
学网安的肆伍18 小时前
【039-安全开发篇】JavaEE应用&SpringBoot框架&Actuator监控泄漏&Swagger自动化
spring boot·安全·java-ee
计算机学姐18 小时前
基于SSM的社区外来务工人员管理系统【2026最新】
java·vue.js·java-ee·tomcat·maven·intellij-idea·mybatis
联系QQ 19226382 天前
Simulink中卡尔曼滤波、高斯滤波与滑动平均滤波算法对比实战
java-ee
学网安的肆伍2 天前
【038-安全开发篇】JavaEE应用&SpringBoot框架&MyBatis注入&Thymeleaf模版注入
spring boot·安全·java-ee
何中应2 天前
【面试题-8】Spring/Spring MVC/Spring Boot/Spring Cloud
java·spring boot·后端·spring·mvc·面试题
HLJ洛神千羽2 天前
J2EE技术及应用实验及报告(黑龙江大学)
java-ee·软件工程