J2EE五层架构概念[转+整理]
摘自:
https://blog.csdn.net/u010376788/article/details/49338225
https://blog.csdn.net/cactusz/article/details/74558721
https://baike.baidu.com/item/%E4%B8%89%E5%B1%82%E6%9E%B6%E6%9E%84/11031448?fr=aladdin
1、三层架构
3-tier architecture:通常意义上的三层架构就是将整个业务应用划分为:
表现层(User Interface layer)
业务逻辑层(Business Logic Layer)
数据访问层(Data access layer)
区分层次的目的即为了“高内聚低耦合”的思想。
表现层(UI):为客户端提供应用程序的访问。主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
业务逻辑层(BLL):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
数据访问层(DAL):主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据库的操作,而不是数据,具体为业务逻辑层或表示层提供数据服务。
2、J2EE的五层架构
java一共有三个版本:
J2SE——指标准版,一般用于用户学习JAVA语言的基础也是使用其他两个版本的基础主要用于编写C/S项目和提供标准的JAVA类库(网上copy的,没用过,我做的都是B/S项目)
J2EE——指企业版依托互连网技术提供企业级平台应用说白了就是用来构建大型网站和B/S系统。自己理解为web项目,通过浏览器访问的服务。
J2ME——指移动版微小型移动器械搭建使用平台主要是用来为手机编程,制作手机相关软件的。好像现在没有什么东西用到,移动端基本都是android、ios。
J2EE架构
J2EE是Java2平台企业版,它的核心是一组技术规范与指南,提供基于组件的方式来设计、开发、组装和部署企业应用。J2EE使用多层分布式的应用模型。j2EE应用的分层模型大致分为以下几层:
(1)表现层
(2)控制器层
(3)业务逻辑层
(4)数据访问对象层(Data Access Object)——DAO
(5)领域对象层(Domain Object)——Entity
表现层:
此层有系列的JSP页面、Velocity页面、PDF文档视图组件组成。还可以由FreeMarker和Tapestry等技术完成。负责收集用户需求,并显示处理结果。
控制器层:
类同MVC设计模型的Controller层,拦截用户请求,调用业务逻辑处理,根据结果转发不同的业务逻辑方法。
业务逻辑层:
由系列的业务逻辑组件构成,实现业务所需要的逻辑方法。这些方法可能是对Domain Object对象所实现的逻辑方法,也可能是依赖与DAO组件的逻辑方法。
DAO层:
此层由系列的DAO组件组成,这些DAO组件实现了对数据库的创建、查询、更新和删除等原子操作。为了业务逻辑组件的实现 和 DAO组件的实现 分离,为每个DAO组件都提供接口,业务逻辑组件面向DAO接口编程,从而实现更好解耦。
领域对象层:
或数据持久层,由系列POJO(Plain Ordinary Java Object)组成,每个POJO对象对应数据库中的一个或多个数据表。
Java的Web应用中常用的框架:
(1)Struts/SprintMVC:作为一个表示层框架,主要作用是界面展示,接收请求,分发请求。
(3)Spring Framwork:作为一个业务层框架,是一个整合的框架,能够很好的粘合表示层和持久层。
(2)Mybatis/Hibernate/JdbcTemplate:作为一个持久层框架,它只负责与关系数据库的操作。
转载于:https://www.cnblogs.com/yickel/p/10977695.html
J2EE五层架构概念[转+整理]相关推荐
- java五层架构_Web五层架构
这篇文章其实是去年我给别人讲Web分层结构时做的一个ppt,只是个人的观点和想法. 1.Model1和Model2 首先,Model1是指JSP+JavaBean.Model1比较适合于一些较小项目, ...
- 瓜子IM智能客服系统的数据架构设计(整理自现场演讲)
本文由ITPub根据封宇在[第十届中国系统架构师大会(SACC2018)]现场演讲内容整理而成. 1.引言 瓜子业务重线下,用户网上看车.预约到店.成交等许多环节都发生在线下.瓜子IM智能客服系统的目 ...
- 如何使用JCA (J2EE 连接器架构)实现企业应用--转载
JCA (J2EE 连接器架构,Java Connector Architecture)是对J2EE标准集的重要补充.因为它注重的是将Java程序连接到非Java程序和软件包中间件的开发.连接器特指基 ...
- Android系统五层架构
1. Android系统架构 Android系统架构分为五层:从上到下依次是应用层.应用架构层.系统运行库层.硬件抽象层和Linux内核层,如图: 1. 应用层(System Apps) 系统内置的应 ...
- android五层系统架构,Android系统的五层架构、Dalvik与ART、最后有个奇怪的问题请教orz...
Android系统的五层架构 最开始的Android系统框架分为5层(内核层.硬件抽象层.系统运行库层.应用程序框架层.应用程序层) 后来维基百科上搜索到的Android系统框架图为上图,少了一个硬件 ...
- 图文轻松理解计算机网络五层架构
博主:爱码叔 个人博客站点: icodebook 公众号:漫话软件设计 专注于软件设计与架构.技术管理.擅长用通俗易懂的语言讲解技术.对技术管理工作有自己的一定见解.文章会第一时间首发在个站上,欢迎大 ...
- 系统架构系列(一):系统架构概念、分类和特性
一.推导系统架构的公式 1.1 系统架构概念拆分 在学习一门技术的时候,一定要知道是什么.为什么.怎么做.系统架构这个概念本身就非常大,而且有各种各样的定义,初学者会遇到这样的困境:到底什么是系统架构 ...
- 【GAMES104】Lecture2-游戏引擎五层架构
文章目录 总览 学习目标 五层架构 Tool Layer 工具层 Function Layer 功能层 Resource Layer 资源层 Core Layer 核心层 Platform Layer ...
- 微服务(Microservices)和服务网格(Service Mesh)架构概念整理
微服务(Microservices) 在过去的 2016 年和 2017 年,微服务技术迅猛普及,和容器技术一起成为这两年中最吸引眼球的技术热点.而以 Spring Cloud 为代表的传统侵入式开发 ...
最新文章
- matlab根轨迹法串联超前校正,4.7基于根轨迹法的串联超前校正.ppt
- reactjs虚拟DOM与真实DOM
- linux 挂载exfat u盘 yum,centos挂载exfat u盘
- php 监听 扫描枪,jquery监听扫码枪获得值
- Spring Boot————默认缓存应用及原理
- security工作笔记003---SpringSecurity框架启动报错.bcrypt.BCryptPasswordEncoder‘ that could not be found.
- c gui qt 4编程第二版_一本专门学习PyQt5 GUI编程的书
- movebase导航
- C# string转char数组 string转char[]
- 【路径规划】基于matlab遗传算法求解多物流中心开放式车辆路径规划【含Matlab源码 017期】
- 一篇好文之Android文本软键盘全解
- cookie登陆qq空间的两种方式
- ARM GIC(六) GIC V3 电源/功耗管理 分析笔记。
- 事业单位新税改的个人所得税纳税筹划
- 游戏美术师的火绝对不是捧出来的!不看不知道游戏模型师这么吃香
- 大脑--物质与意识之综合体,是物质有双重现象(物性与灵性)的实证
- CentOS系统的安装
- Linux命令--tail
- 使用zxing 解析图片中的二维码
- arduino超声波测距接线图详细_arduino——超声波测距仪(笔记)
热门文章
- 实习生使用微软雅黑致公司被起诉索赔千万?方正回应...
- jvm垃圾回收之类加载机制
- Python 使用requests发送POST请求
- python数值类型的操作_Python学习笔记,数值类型及操作
- 无向简单图怎么判断_bfs----判断无向简单图中任意两点是否连通
- python背景图颜色_python – 使图形透明与彩色背景
- python比java难吗-Python 的开发效率真的比 Java高吗?
- c++ 高效解析url算法
- 使用mongoose来创建嵌入式websocket客户端和http客户端
- c语言事件结构体,C语言结构体史上最详细的讲解