java中的各种架构

article/2025/11/5 9:37:11

常见包名的含义:

  • dao 数据库操作,增删改查,jdbc中具体的数据处理
  • model 一般是javabean对象,与数据库的某个表相关联
  • service 供外部调用,等于对dao,model等进行了包装
  • bean getter,setter方法
  • util:工具类,理论上应该所有方法都是static的,如字符串处理、日期处理,数据库连接的工具类,jdbc中DBUtil获取数据库链接、关闭数据库链接(getConnection,close)

MVC架构

基本思想就是把程序界面和业务逻辑分离开来,方便开发、测试以及后期为维护,增强各模块间的独立性,避免牵一发而动全身:

  • Model(模型):用于实现一些数据业务逻辑,主要是接受处理数据以及访问操作数据库
  • View(视图):用于向用户显示一些数据
  • Controller(控制器):用于处理应用与用户的交互,主要是从View(视图)读取数据,控制用户输入,将数据发送到Model(模型)

Servlet+JSP(Javaweb)中MVC的分工:

  • Model(模型):以javabean为主体,实现数据逻辑和数据库访问操作
  • View(视图):JSP或HTML页面为主体,可配合ajax实现高可交互性的异步通讯
  • Controller(控制器):以Servlet为主体,实现如读取用户表单提交信息等功能,并将数据发送到javabean进行处理

其中,Model(模型)层又可以分为DAO(Data Access Object 数据访问对象)层与service业务层,DAO层负责将数据库访问代码封闭,而业务层负责封装业务逻辑,处理数据,实现用户需求,最为核心:

  • Model(/domain):定义一个javabean。
  • Dao:持久层,数据库操作,增删查改。
  • Service:业务逻辑层,完成相应的业务逻辑处理,需要操作数据的时候,通过service层访问DAO层来实现 。
  • Controller(servlet):完成界面请求、对界面进行跳转。servlet调用service层。

 

Javaweb架构的历史沿革:

 ①JSP Model1第一代 
JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利。
JSP Model1第一代

②JSP Model1第二代
JSP Model1第二代有所改进,把业务逻辑的内容放到了JavaBean中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作,JSP中把视图工作和请求调度(控制器)的工作耦合在一起了。

这里写图片描述

③JSP Model2 
JSP Model2模式已经可以清晰的看到MVC完整的结构了。 
·JSP:视图层,用来与用户打交道。负责接收用来的数据,以及显示数据给用户; 
·Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图; 
JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。
这里写图片描述

 

三层架构

  • 表现层(UI):展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
  • 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
  • 数据访问层(DAL):直接操作数据库,对数据表CRUD(增删改查)操作。

SSH框架中:  

Struts位于web层,Spring位于service层,Hibernate位于dao层 。 

Struts、Spring、Hibernate在各层的作用:

Struts负责Web层:ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页。在Struts-config.xml中定义<action-mapping>,ActionServlet会加载。

Spring负责业务层管理,即Service(或Manager)。

Service为action提供统计的调用接口,封装持久层的DAO; 可以写一些自己的业务方法; 统一的Javabean管理方法; 声明式事务管理; 集成Hibernate。     

Hibernate,负责持久化层,完成对数据库的crud操作。提供OR/Mapping。它由一组.hbm.xml文件和POJO,是跟数据库中的表相对应的。然后定义DAO,这些是跟数据库打交道的类,它们会使用PO。

  • Struts在SSH框架中起控制的作用,其核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml,主要控制逻辑关系的处理。
  • Hibernate是数据持久化层,是一种新的对象、关系的映射工具,提供了从Java类到数据表的映射,也提供了数据查询和恢复等机制,大大减少数据访问的复杂度。把对数据库的直接操作,转换为对持久对象的操作。
  • Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。面向接口的编程,由容器控制程序之间的依赖关系,而非传统实现中,由程序代码直接操控。这就是所谓“控制反转”的概念所在:(依赖)控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转。依赖注入,即组件之间的依赖关系由容器在运行期决定,形象地说,即由容器动态地将某种依赖关系注入到组件之中,起到的主要作用是解耦。
     

MVC架构与三层架构

使用范围不同:三层可以应用于任何语言、任何技术的应用程序;而MVC只是为了解决BS应用程序视图层各部分的耦合关系。它们互不冲突,可以同时存在,也可根据情况使用其中一种。

MVC架构与三层架构的对应关系:

三层架构中的UI对应MVC中的view(jsp),都是用于显示以及获取界面的数据;三层架构中的BLL层和DAL层对应MVC中的Model(javabean)层都是用于处理上层传递来的数据以及从数据库获取的数据的;MVC中的Controller(Servlet)最多算是三层架构中的UI的一部分,也就我们常说的是Servlet。
 


http://chatgpt.dhexx.cn/article/3Uh6HIhv.shtml

相关文章

JAVA架构与开发(JAVA架构是需要考虑的几个问题)

在企业中JAVA架构师主要负责企业项目技术架构&#xff0c;企业技术战略制定&#xff0c;技术框架搭建&#xff0c;技术培训和技术攻坚的工作。 在JAVA领域&#xff0c;比较多的都是web项目。用于解决企业的数字化转型。对于JAVA架构师而言&#xff0c;平时对项目的架构主要考虑…

全网最全的 Java 各类技术栈架构图汇总(建议收藏)

点击上方“Java基基”&#xff0c;选择“设为星标” 做积极的人&#xff0c;而不是积极废人&#xff01; 每天 14:00 更新文章&#xff0c;每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路&#xff0c;很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应…

Java架构介绍(一)

java语言平台架构 java语言的平台架构由下面四部分组成&#xff1a; java编程语言java的class文件格式java应用程序接口&#xff08;API&#xff09;java虚拟机 这四部分的关系如下图所示&#xff1a; 可以看到&#xff0c;java编程环境分为两个时期&#xff0c;编译时和运行时…

Java架构

1.java 类加载器架构 2. JVM 架构 3. Java 技术体系 4.线程运行架构 5.Java 体系&#xff08;编译与运行&#xff09;结构 6.JMS 技术架构 JMS(Java Message Service)组成特点&#xff1a; JMS provider 实现JMS接口和规范的消息中间件&#xff0c;也就是我们的MQ服务器 JMS p…

笔记本电脑 (天梯图) 处理器 和 显卡

游戏本一般是i5-9300H起步&#xff0c;低于这个标准的游戏本不建议购买。另外需要注意的是不要被10代CPU唬住了&#xff0c;拿最近卖的比较火的i5-10210U来说&#xff0c;其性能还不如8代的i5-8300H 我们以移动版GTX1650为分界线&#xff0c;游戏本的显卡一般都在此之上&#…

处理器CPU天梯图,显卡天梯图(性能排名图)

本文转载自&#xff1a; https://www.cnblogs.com/little-white/p/3324393.html 作者&#xff1a;little-white 转载请注明该声明。 自己网上找的几个图&#xff0c;仅供参考&#xff0c;买电脑可以看看了~

(最新)cpu天梯图 (CPU)- Processor Benchmarks

cpu天梯图&#xff0c;cpu Benchmarks见下列网址&#xff1a; PassMark CPU Benchmarks - Single Thread PerformanceCPU UserBenchmarks - 1206 Processors ComparedCPU-Z Benchmark - CPU-Z VALIDATORProcessor Benchmarks - Geekbench BrowserCPU Benchmarks for Lucas-Leh…

INTELAMD性能天梯图

选购cpu的时候可以作为参考 个人学习用途博客 部分内容摘抄自网络

计算机cpu天体图,cpu性能天梯排行图 最新的2021年电脑cpu天梯图5月高清图

最新的2021年电脑cpu天梯图它来了&#xff0c;感兴趣的一起来看看吧! 2021CPU最新最全天梯图 CPU前十排行榜CPU排名 一、赫兹速度比核心数目更重要&#xff1a; 更高的时钟速度可在诸如游戏等简单的常见任务中转化为更出色的性能&#xff0c;而更多的核心将帮助您更快地处理耗时…

天玑CPU天梯图2023年2月最新版 2023天玑处理器天梯图

、联发科天玑9000 2、联发科天玑9000 3、联发科天玑8100-MAX 4、联发科天玑8100 5、联发科天玑8000-MAX 我用的手机就是活动时抢购的便宜了600太给力了 http://www.adiannao.cn/7 6、联发科天玑1200 7、联发科天玑1100 8、联发科天玑1000 9、联发科天玑1000L 10、联发科天玑820…

服务器amd cpu性能排行,Ryzen处理器有哪些/性能排名如何?AMD Ryzen CPU天梯图解答...

沉寂了十年的AMD今年终于迎来大爆发,新推出的全新Ryzen系列处理器,无论是高端、中端还是低端都能对标Intel酷睿i7/i5/i3,并且还有多核与性价比优势,给多年挤牙膏的Intel带来了很大的压力。那么目前Ryzen处理器有哪些?各自的性能水平如何呢?今天脚本之家制作了一张AMD Ryz…

适合游戏视频剪辑CPU排行榜,cpu天梯图

你会在紧张的消费预算中购买一个性能强劲的CPU来组装PC机吗&#xff1f;如果你经常做编辑视频&#xff0c;你将需要一个cpu性能强大的PC&#xff0c;让你快速地操作视频影片。一个及格的视频编辑处理器将利用多核心数量和多线程做编辑视频任务。 在现代计算机技术时代&#xf…

AMD CPU

系列 基于ZEN架构的有&#xff1a;速龙&#xff08;Athlon&#xff09;&#xff0c;锐龙&#xff08;Ryzen&#xff09;&#xff0c;线程撕裂者&#xff08;Threadripper&#xff09;&#xff0c;不基于ZEN架构的不建议购买 速龙 对标 Intel奔腾&#xff0c;目前在售的只有两…

手机cpu性能天梯图2023 手机cpu处理器排行榜2023

一、手机处理器排名2023年天梯图 这个版本的手机cpu处理器天梯排名是快科技最新推出的&#xff0c;基于手机soc性能跑分来排序&#xff0c;数据来源于驱动之家评测室、GeekBench、GFXBench&#xff0c;通常是综合每个手机cpu在不同测试工具下的性能跑分高低来排序&#xff0c;采…

计算机cpu天体图,电脑cpu天梯图2019|最新Intel/AMD处理器性能排行2019

为大家整理分享2019最新电脑cpu天梯图,cpu天梯图包含桌面平台台式机cpu性能指数排名,以及移动平台笔记本cpu性能排名。电脑cpu天梯图主要是对比Intel英特尔酷睿和AMD两大主流品牌,处理器cpu性能好坏决定电脑运算能力,所以2019年要买电脑的用户,可以参考这个cpu性能天梯图选…

AMD Ryzen5性能排名 CPU天梯图2017年4月最新版

伴随着四月中旬AMD锐龙Ryzen 5系列处理器上市&#xff0c;今天我们也带来了2017年4月最新的CPU天梯图更新了。如果说此前的Ryzen 7系列是AMD重塑高端的象征的话&#xff0c;那么新上市的Ryzen 5系列处理器无疑是AMD针对中端市场的主力&#xff0c;下面我们通过最新的桌面CPU天梯…

显卡功耗天梯图 2023年显卡功耗排行天梯图

一、目前比较主流的显卡功耗排行榜   首先先给大家列举当前比较主流的台式电脑显卡功耗表&#xff0c;从下表可见&#xff0c;N卡功耗最高的显卡RTX 3090Ti功耗450W&#xff0c;AMD最强的显卡RX6900XT水冷板功耗330W。该功耗为官方公布的显卡最大功耗&#xff0c;非满载功耗&…

2022年CPU天梯图(7月更新)

CPU天梯图更注重综合性能&#xff0c;只具有参考意义&#xff0c;选择CPU要根据需求选择。 生产力用户更偏重多核性能&#xff0c;可以参考天梯图 游戏用户更偏重单核性能&#xff0c;天梯图参考意义不大 比如12600KF在天梯图中的排名低于3990X、10980XE等 但是游戏性能比后…

笔记本cpu天梯图2022

一、笔记本CPU性能天梯图 笔记本CPU天梯图精简版主要是近几代产品&#xff0c;intel CPU包括了三代、四代、五代、六代、七代、八代、九代、十代以及全新十一代产品&#xff0c;目前选购笔记本建议的是十代和十一代产品&#xff0c;而AMD CPU主要是锐龙一代、二代、三代以及全新…