zoukankan      html  css  js  c++  java
  • 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:作为一个持久层框架,它只负责与关系数据库的操作。

  • 相关阅读:
    Arcgis地理处理工具案例教程——批量提取多个栅格的范围边界矢量
    win10 windows10自动修复系统
    ArcGIS案例教程—E00格式批量导入成要素类
    Python正则表达式多行匹配问题
    学习ArcGIS开发的途径有哪些
    Arcgis空间分析案例教程——计算空间分布范围
    ArcGIS地理建模批处理教程——批量添加文件名作为字段值
    ArcGIS地理建模批处理教程——批量去除Z值和M值
    华为NM存储卡与Micro SD存储卡对比分析
    EDT
  • 原文地址:https://www.cnblogs.com/yickel/p/10977695.html
Copyright © 2011-2022 走看看