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=aladdinjava

一、三层架构
3-tier architecture:一般意义上的三层架构就是将整个业务应用划分为:
表现层(User Interface layer)
业务逻辑层(Business Logic Layer)
数据访问层(Data access layer)
区分层次的目的即为了“高内聚低耦合”的思想。android

表现层(UI):为客户端提供应用程序的访问。主要表示WEB方式,也能够表示成WINFORM方式,WEB方式也能够表现成:aspx,若是逻辑层至关强大和完善,不管表现层如何定义和更改,逻辑层都能完善地提供服务。
业务逻辑层(BLL):主要是针对具体的问题的操做,也能够理解成对数据层的操做,对数据业务逻辑处理,若是说数据层是积木,那逻辑层就是对这些积木的搭建。
数据访问层(DAL):主要是对非原始数据(数据库或者文本文件等存放数据的形式)的操做层,而不是指原始数据,也就是说,是对数据库的操做,而不是数据,具体为业务逻辑层或表示层提供数据服务。ios


二、J2EE的五层架构
java一共有三个版本:
J2SE——指标准版,通常用于用户学习JAVA语言的基础也是使用其余两个版本的基础主要用于编写C/S项目和提供标准的JAVA类库(网上copy的,没用过,我作的都是B/S项目)
J2EE——指企业版依托互连网技术提供企业级平台应用说白了就是用来构建大型网站和B/S系统。本身理解为web项目,经过浏览器访问的服务。
J2ME——指移动版微小型移动器械搭建使用平台主要是用来为手机编程,制做手机相关软件的。好像如今没有什么东西用到,移动端基本都是android、ios。web

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:做为一个持久层框架,它只负责与关系数据库的操做。架构

相关文章
相关标签/搜索