现在开发web大多都是基于MVC的三层架构,三层架构优势什么呢?

三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。

1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。

表现层的主流框架有:struts1 ,struts2,,springMVC,webwork

2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。

业务逻辑层的主流框架有:Spring

3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。
数据访问层测主流框架有:Hibernate,Ibatis,以及Ibatis的升级版Mybatis
三层架构如此的火,这是为什么呢?让我们来看看三层架构的好处,总结大概有以下几点:

1、开发人员可以只关注整个结构中的其中某一层;
        2、可以很容易的用新的实现来替换原有层次的实现;
        3、可以降低层与层之间的依赖;
        4、有利于标准化;
        5、利于各层逻辑的复用。
        6、扩展性强。不同层负责不同的层面,如PetShop可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好 了也可以实现B/ S与C/S之间的转换
        7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
        8、项目结构更清楚,分工更明确,有利于后期的维护和升级

J2EE体系结构图或三层结构图

J2EE体系结构图:

J2EE三层结构图:

SSH三层结构图:

关于J2EE开发三层架构相关推荐

  1. JDBC事务--软件开发三层架构--ThreadLocal

    JDBC事务--软件开发三层架构--ThreadLocal 一.JDBC事务 1.概述: 事务是指逻辑上的一组操作!这一组操作,通常认为是一个整体,不可拆分! 特点:同生共死;事务内的这一组操作要么全 ...

  2. 基于LINQ to SQL的WEB开发三层架构(2)

    初始的Northwind.dbml文件代码如下: #pragma warning disable 1591 //-------------------------------------------- ...

  3. Java开发三层架构

    三层架构:将程序中所有的类按照功能类别划分为3个层次(将所有类用于3个不同包存放) 实体层:entity,该包下存放所有的实体类(数据类,只有属性(和数据库字段对应的属性)和属性的封装(setter/ ...

  4. J2EE开发常用架构及其性能

    web开发中,因应用所属行业领域不同,对系统架构的选择也不同,系统架构决定了整个系统性能 和其他各种技术指标. J2EE开发中,通常选用以下三种架构: 1,SSH 即spring+struts+hib ...

  5. 基于LINQ to SQL的WEB开发三层架构(1)

    LINQ语言集成查询是微软用于抗衡竞争对手,改进现有开发模式下面向数据库操作问题的一个种全新体系架构.它的出现,解决了面向对象开发中由数据库操作引起的先天性的瓶颈,使得面向对象和数据库完美结合. 程序 ...

  6. WEB开发三层架构概述

    SSH的三层结构 DAO 对数据库的操作的接口和实现 SERVICE 业务逻辑的实现,也可以使用dao提供的数据库操作的接口实现 ACTION  实现调用业务逻辑方法来处理用户的请求 三层结构 3-t ...

  7. 开启 J2EE(七)— Model1、Model2和三层架构的演变

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/akkzhjj/article/details/37667261 Model1和Model2是Java ...

  8. 三层架构与设计模式思想部署企业级数据库业务系统开发

    1. 三层架构介绍 1.1关于架构 架构这个词从它的出现后,就有许许多多的程序员.架构师们激烈地讨论着它的发展,但是架构一词的出现,却是随着三层架构的出现才出现的.当然,目前应用三层架构开发也正是业界 ...

  9. 使用objectdatasource结合数据绑定控件进行简单三层架构的开发

    对于B/S架构的三层架构的开发,可能很多的人都已经了解的是比较清楚的.哪么我在这里用的是最简单的三层架构.ui+bll+dal+dbsqlhelp+model. 从05出来以后由于功能明显比03夸张了 ...

最新文章

  1. HSRP多组基础配置实验
  2. vue实现两个数组的合并
  3. Eclipse中src/main/resources配置文件启动问题
  4. pow(x,y)函数
  5. mysql cluster 宕机 恢复_mysql cluster 集群恢复不起来,还请大神赐教?报错-问答-阿里云开发者社区-阿里云...
  6. 完全卸载gitlab
  7. indesign教程,如何改变内容的顺序?
  8. sqlserver 2016 安装
  9. CVPR引起巨大争议的新技术Face2Face:当科技先进到让人害怕
  10. 剑指offer(专项突破版):数据结构与算法名企面试题精讲 刷题记录
  11. Learn1:在Power Apps平台创建第一个 Canvas App
  12. 虚拟机上WindowsXP系统下载QQ和打开https网站证书问题打不开解决
  13. 微信小程序学习心得----订咖啡
  14. CENTOS7 安装mantis
  15. 调整HTML5画布中图像的大小
  16. 百度排名靠前工具软件
  17. [实用教程] 科普贴:SGLTE、SVLTE、CSFB、SRLTE
  18. 将实时三维计算机技术,基于结构光实时三维重建计算机应用技术专业论文.docx...
  19. jwt生成token和验证token以及获取playload的数据,实现token拦截
  20. 神马开户推广点击量和消费增加了很多是否有异常?

热门文章

  1. 目标检测YOLO实战应用案例100讲-基于改进的YOLOv4柑橘目标检测算法
  2. kotlin--综合运用Hilt、Paging3、Flow、Room、Retrofit、Coil等实现MVVM架构实战
  3. Android实现自定义带文字和图片的Button
  4. refactoring?
  5. java大型项目架构,一个Java应届生从上海离职
  6. Dubbo的Reference注解必须先启动provider的问题
  7. if语句的用法是什么
  8. 统计机器翻译中的IBM1模型
  9. 机器学习算法岗面经 | 优化方法总结对比:SGD、Momentum、AdaGrad、RMSProp、Adam
  10. 一个Web系统的界面设计和开发.2